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来分析