为了账号安全,请及时绑定邮箱和手机立即绑定

如何估算mysql读取数据所花费的时间?

如何估算mysql读取数据所花费的时间?

米琪卡哇伊 2019-05-25 15:17:27
比如现在有一个硬盘,是7500转每分钟,每转一圈时间就是0.008秒,即8毫秒,假设现在要读取20000条数据,每条数据长度大概0.1kb,总的数据大小是2mb,能不能大概估算出所需要的读取时间是多少呢?如果中间还有连表等操作,影响因素又是什么呢?一旦我们知道了时间,更容易对编写的sql效率有更好的认识.请各位赐教,mysql读取数据的时间的因素有哪些,且大概计算的方式是什么样的呢?修改问题:楼下的大神都给出了非常宝贵的意见!谢谢您们!!其实我是更希望知道这个时间的估算是基于一个怎样的因素.当然如果能通过这个时间和sql查询的时间对比,来为优化sql提供基础参考当然更好.不过我其实更关心的是时间计算的影响因素和计算过程.再次感谢大家!
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

重要的是你读了多少数据,丢弃了多少,最后取到了多少,知道从磁盘获取数据的时间公式有什么意义呢?
所以sql的优化是怎样从最少的数据集获取到你的结果才是最重要的,而这些是跟sql写法,业务逻辑,索引规则有关的,从磁盘读取到内存花费的时间对整个sql运行时间来说就是个const,SAS换成ssd这个const就小点而已
                            
查看完整回答
反对 回复 2019-05-25
?
largeQ

TA贡献2039条经验 获得超7个赞

一般优化sql不会去直接计算时间,影响因素比较多,但是你可以通过explain语句分析sql的执行机制和效率。用法就是explain加上要分析的sql。
explainselect*fromtbwhere...
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 381 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信