笔记:索引和SQL查询优化(待补充)

参考书 《高性能 MySQL》
书中索引和SQL的优化经验不但适用于MySQL,大部分也适用于PostgreSQL、Oracle、DB2、SqlServer,以及Mongodb。

一.索引类型

1.B树索引
2.哈希索引
3.空间索引 (地理空间数据)
4.全文索引 

二.索引使用策略

1.字段中不应该有表达式

低效:select * from foo where id + 1 = 8
高效:select * from foo where id = 7

低效: select * from foo where TO_DAYS('2012-12-12') -TO_DAYS(date_col) <=10
高效: select * from foowhere date_col> DATE_SUB('2012-12-12',INTERVAL10 DAY)


2.前缀索引

3.聚集索引

4.覆盖索引

三、SQL优化

1.不要提取不需要的列

2.表连接的查询一般比子查询更快

3.优化表连接:
确保ON或USING使用的列上有索引
确保Group By 和 Order By 只引用一个表上的列,这样MySQL会尝试使用索引



原文地址:https://www.cnblogs.com/leeeee/p/7276590.html