1、sql语句性能查询 explain sql语句
type :依次从最优到最差分别为:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
possible_keys : 使用的索引
key : 这一列显示mysql实际采用哪个索引来优化对该表的访问。
rows:执行时查询得行数
2、引起数据库放弃索引的操作:
- 使用like关键字且第一个字符是% 例如 (like '%123')
- 使用联合索引,查询时必须使用联合索引的第一个字段否则会放弃使用索引
- 使用 or关键字 or的前后都必须使用带索引的关键字,否则会放弃使用索引
3、创建索引(会影响插入效率)
CREATE INDEX INDEX_NAME ON TABLE_NAME(COLUMN_NAME(LENGTH))
4、执行子查询
子查询会创建临时表,查询结束后会删除临时表,所以不建议用子查询,建议用表连接
5、执行插入
- 多行插入比多次插入更优,原因是节省 解析次数
- 外键、唯一等约束会影响插入效率
- 插入时关闭自动提交事务,可以提高插入效率