什么是索引? 索引是一种具有排序和查询的数据结构。
怎么查看sql语句的具体信息? explain + sql语句。会得到详细的sql信息,可根据查询出来的信息来优化编写的sql语句。 explain中常见列:
id:
当id相同时:执行顺序是从上到下。
当id不同时:id值越大越先执行。
当id相同不同时:id值越大越先执行。id相同的从上到下执行。
type:
索引优化的级别优->差: system > const > eq_ref > ref > range > index > all
possible_keys:
可能用到的索引
keys:
实际用到的索引
单表:建立常用的字段上。 双表:
例如:select * form a left join b on a.id=b.id; 左连接时应该把索引建立在右表中 select * form a rightjoin b on a.id=b.id; 右连接时应该把索引建立在左表中三表:
例如:select * form a left join b on a.id=b.id left join c on b.id=c.id; 左连接时应该把索引建立在右表中 select * form a right join b on a.id=b.id right join c on b.id=c.id; 右连接时应该把索引建立在左表中