数据库优化
查询优化
重点:如何快速找到适量数据。
适量
- select column 取代 select *
- 使用limit限制数据总量
- where 过滤数据(时间限制等);
快速
合理使用索引
索引列的取值
where、group by和order by
经常搜索的列
原则
最左前缀原则
区分度高
列数据量小
拒绝:列设置为null、!= 、or、not in、左模糊、函数计算以及隐式类型转换。
备注:MySQL中每条记录都需要额外的存储空间,表示每个字段是否为null。
优化例子
(1)表tesst里有一千多万条数据,怎么快速的查出第1000万条后的100条数据?
select * from test as a inner join (select id from test limit 10000000,100) as b on a.id =b.id;
(2)optimized select * from test where id in (1,2,3);
select * from test where id between 1 and 3;