sql语句优化

来源:互联网 发布:音频转文字软件 编辑:程序博客网 时间:2024/06/05 20:21

1:sql语句的时间花在哪儿了?

答:等待时间,执行时间

     这两个时间并非孤立的,如果单挑语句执行快了,对其它语句的锁定也就少了,所以我们分析如何降低执行时间

2:sql语句的执行时间又花在哪儿了?

答:查找---》沿着索引查找,慢者可能全表扫描

       取出---》查找行后,把数据取出来

3:”如何查询快?

   a)  查询的快,联合索引的顺序,区分度,长度

   b)取的快,索引覆盖

   c) 传输的少,更少的行和列


切分查询:按数据拆分成多次

例如:插入10000行数据,每1000条为单位插入

分解查询:按逻辑把多表连接查询分成多个简单的sql


4:sql优化思路

答:不查------少查------高效的查

 不查:通过业务逻辑来计算,比如统计大概数值,可以通过计算得出

少查:尽量精准查找数据,少取行,我们观察新闻网站,评论内容,一般一次性取列表10--30条左右

必须要查,尽量走在索引上查询行,取数据时,取尽量少的列

比如:select * from tableA 取出所有的列,不建议

           select * from tableA tableB 取出a b  所有列


5:如何定量分析查多少行和是否沿着索引查

答:使用explain来分析