比如现在有一个硬盘,是7500转每分钟,每转一圈时间就是0.008秒,即8毫秒,假设现在要读取20000条数据,每条数据长度大概0.1kb,总的数据大小是2mb,能不能大概估算出所需要的读取时间是多少呢?如果中间还有连表等操作,影响因素又是什么呢?
一旦我们知道了时间,更容易对编写的sql效率有更好的认识.
请各位赐教,mysql读取数据的时间的因素有哪些,且大概计算的方式是什么样的呢?
修改问题:
楼下的大神都给出了非常宝贵的意见!谢谢您们!!其实我是更希望知道这个时间的估算是基于一个怎样的因素.
当然如果能通过这个时间和sql查询的时间对比,来为优化sql提供基础参考当然更好.
不过我其实更关心的是时间计算的影响因素和计算过程.
再次感谢大家!
重要的是你读了多少数据,丢弃了多少,最后取到了多少,知道从磁盘获取数据的时间公式有什么意义呢?
所以sql的优化是怎样从最少的数据集获取到你的结果才是最重要的,而这些是跟sql写法,业务逻辑,索引规则有关的,从磁盘读取到内存花费的时间对整个sql运行时间来说就是个const,SAS换成ssd这个const就小点而已