mysql语句和表的优化

mysql语句和表的优化

ID:34724654

大小:65.57 KB

页数:11页

时间:2019-03-10

mysql语句和表的优化_第1页
mysql语句和表的优化_第2页
mysql语句和表的优化_第3页
mysql语句和表的优化_第4页
mysql语句和表的优化_第5页
资源描述:

《mysql语句和表的优化》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MYSQL语句和表的优化--优化SQL的一般步骤--一、通过showstatus和应用特点了解各种SQL的执行频率/*通过SHOWSTATUS可以提供服务器状态信息,也可以使用mysqladminextended-status命令获得。SHOWSTATUS可以根据需要显示session级别的统计结果和global级别的统计结果。以下几个参数对Myisam和Innodb存储引擎都计数:1.Com_select执行select操作的次数,一次查询只累加1;2.Com_insert执行insert操作的次数,对于批量插入的insert操作,只累加一次;3.Com_u

2、pdate执行update操作的次数;4.Com_delete 执行delete操作的次数;*/SHOWSTATUSWHEREVariable_name='Com_select';/*以下几个参数是针对Innodb存储引擎计数的,累加的算法也略有不同:1.Innodb_rows_readselect查询返回的行数;2.Innodb_rows_inserted执行Insert操作插入的行数;3.Innodb_rows_updated执行update操作更新的行数;4.Innodb_rows_deleted执行delete操作删除的行数;通过以上几个参数,可以很容

3、易的了解当前数据库的应用是以插入更新为主还是以查询操作为主,以及各种类型的SQL大致的执行比例是多少。对于更新操作的计数,是对执行次数的计数,不论提交还是回滚都会累加。对于事务型的应用,通过Com_commit和Com_rollback可以了解事务提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。此外,以下几个参数便于我们了解数据库的基本情况:1.Connections试图连接Mysql服务器的次数2.Uptime服务器工作时间3.Slow_queries慢查询的次数二、定位执行效率较低的SQL语句可以通过以下两种方式定位执行效率较低

4、的SQL语句:1.可以通过慢查询日志定位那些执行效率较低的sql语句,用--log-slow-queries[=file_name]选项启动时,mysqld写一个包含所有执行时间超过long_query_time秒的SQL语句的日志文件。可以链接到管理维护中的相关章节。2.慢查询日志在查询结束以后才纪录,所以在应用反映执行效率出现问题的时候查询慢查询日志并不能定位问题,可以使用showprocesslist命令查看当前MySQL在进行的线程,包括线程的状态,是否锁表等等,可以实时的查看SQL执行情况,同时对一些锁表操作进行优化。*/SHOWPROCESSLIS

5、T;/*三、通过EXPLAIN分析低效SQL的执行计划通过以上步骤查询到效率低的SQL后,我们可以通过explain或者desc获取MySQL如何执行SELECT语句的信息,包括select语句执行过程表如何连接和连接的次序。explain可以知道什么时候必须为表加入索引以得到一个使用索引来寻找记录的更快的SELECT。*/EXPLAINSELECT*FROMmessageaLEFTJOINmytablebONa.id=b.idWHEREa.id=1;/*返回结果+--------+---------------+-------+-------+-------

6、-------+----------------+-----------+-------+--------+--------------+

7、id

8、select_type

9、table

10、type

11、possible_keys

12、key

13、key_len

14、ref

15、rows

16、Extra

17、+--------+---------------+-------+-------+--------------+----------------+-----------+-------+--------+--------------+

18、1

19、SIMPLE

20、a

21、const

22、PRIMARY

23、PR

24、IMARY

25、4

26、const

27、1

28、

29、

30、1

31、SIMPLE

32、b

33、ALL

34、NULL

35、NULL

36、NULL

37、

38、9999

39、

40、+--------+---------------+-------+-------+--------------+----------------+-----------+-------+--------+--------------+select_type:select类型table:输出结果集的表type:表示表的连接类型①当表中仅有一行是type的值为system是最佳的连接类型;②当select操作中使用索引进行表连接时type的值为ref;③

41、当select的表连接没有使用索引时,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。