Mysql:常用的优化技巧

1.通过show status 命令了解各种sql的执行效率

2. 定位执行效率较低的SQL语句

  开启慢查询记录:

  打开Mysql配置文件my.ini ,找到 [mysqld] 在其下面添加

  long_query_time = 2 // 慢查询时间

  log_slow_queries = E:/mysql/logs/log.log #设置把日志写在那里,可以为空,系统会给一个缺省的文件

3.通过explain分析低效率的SQL语句的执行情况

  使用explain分析该dql语句:

  EXPLAIN SELECT * FROM order_copy WHERE id=12345
  会产生如下信息:
  select_type:表示查询的类型。
  table:输出结果集的表
  type:表示表的连接类型(system和const为佳)
  possible_keys:表示查询时,可能使用的索引
  key:表示实际使用的索引
  key_len:索引字段的长度
  rows:扫描的行数
  Extra:执行情况的描述和说明

  注意:要尽量避免让type的结果为all,extra的结果为:using filesort

4.适当的位置加上索引【注意以下几种情况】

  • 较频繁的作为查询条件字段应该创建索引

    select * from order_copy where id = $id

  • 唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件

   select * from order_copy where sex=’女’

  • 更新非常频繁的字段不适合创建索引

    select * from order_copy where order_state=’未付款’

  • 不会出现在WHERE子句中字段不该创建索引

5.如何建索引

参考:http://www.cnblogs.com/itsharehome/p/4955162.html

posted @ 2015-11-17 22:18  冰狼爱魔  阅读(368)  评论(0编辑  收藏  举报