Mysql SQL语句优化

最近找时间看了下Mysql 5.1的参考手册,作为一个开发者我对自己的要求是重点看看Mysql Replication的原理及机制,以及各种Mysql的Sql优化,毕竟稍微大点的公司都会有更专业的DBA来做数据库优化。

那么对于Mysql Replication的理解在上一篇博客中已经简单赘述,这篇文章中只是简单的记录Mysql的一些Sql优化,因为还有些没有看完,而且Mysql参考文档也说明:因为Mysql针对Sql优化的点非常多,所以不可能在文档中全部写出,所以后续这篇博文会不断Update知识点,下面罗列知识点:


mysql 优化

1、降低授权许可验证

2、用benchmark函数检验函数或表达式的快慢

3、使用explain 查看执行过程,所谓的查询优化就是尽可能的去掉Using  Temporary 等操作

4、外键的字段类型和长度要和主键一致才能走索引

5、在多表关联中使用STRAIGHT_JOIN来强制规定mysql以哪个为基准表

6、如果查询的字段在索引树中就有,那么mysql不需要回表,速度会快很多

7、如果order by 的字段在索引树中有,那么就不需要重新排序

8、如果有一个ORDER BY子句和不同的GROUP BY子句,或如果ORDER BY或GROUP BY包含联接队列中的第一个表之外的其它表的列,则创建一个临时表

9、Is Null 表达式只会在申明为Not null的列时 mysql才会走索引优化,否则不会,所以一般的列要限制Not Null,但是只能处理一个Is null的优化

待完善。。。



你可能感兴趣的:(Mysql SQL语句优化)