mysql优化技巧总结

mysql优化技巧总结

ID:8969605

大小:93.00 KB

页数:18页

时间:2018-04-13

mysql优化技巧总结_第1页
mysql优化技巧总结_第2页
mysql优化技巧总结_第3页
mysql优化技巧总结_第4页
mysql优化技巧总结_第5页
资源描述:

《mysql优化技巧总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、MySQL自带slowlog的分析工具mysqldumpslow,但是没有说明。本文通过分析该脚本,介绍了其用法。slowlog是MySQL根据SQL语句的执行时间设定,写入的一个文件,用于分析执行较慢的语句。只要在my.cnf文件中配置好:log-slow-queries=[slow_query_log_filename]即可记录超过默认的10s执行时间的SQL语句。如果要修改默认设置,可以添加:long_query_time=5设定为5s。如果要记录所有SQL语句,可以写入:log-long-format#t=time,l=locktime

2、,r=rows#at,al,以及ar是对应的平均值mysqldumpslow可以接受的参数有:'v+',#verbose'd+',#debug's=s',#排序(t,at,l,al,r,aretc)'r!',#倒排序(largestlastinsteadoffirst)'t=i',#显示最高的n个查询'a!',#不把所有的数字以N,字符串以'S'显示'n=i',#abstractnumberswithatleastndigitswithinnames'g=s',#grep:onlyconsiderstmtsthatincludethisstri

3、ng'h=s',#hostnameofdbserverfor*-slow.logfilename(canbewildcard)'i=s',#nameofserverinstance(ifusingmysql.serverstartupscript)'l!',#don'tsubtractlocktimefromtotaltimemysqlexplain的使用说明explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。使用方法,在select语句前加上explain就可以了:如:ex

4、plainselectsurname,first_nameforma,b where a.id=b.id分析结果形式如下:引用mysql>explainSELECT*FROM`whisper`WHEREto_id=6696ANDdel=0 ANDwhisper=0ORDERBY`send_time`DESCLIMIT4;+----+-------------+---------+------+---------------+-------+---------+-------+------+----------------------------

5、-+

6、id

7、select_type

8、table 

9、type

10、possible_keys

11、key 

12、key_len

13、ref 

14、rows

15、Extra           

16、+----+-------------+---------+------+---------------+-------+---------+-------+------+-----------------------------+

17、 1

18、SIMPLE   

19、whisper

20、ref 

21、to_id    

22、to_id

23、   4

24、const

25、  1

26、Usingwhere;Usingf

27、ilesort

28、+----+-------------+---------+------+---------------+-------+---------+-------+------+-----------------------------+1rowinset(0.00sec)EXPLAIN列的解释:table显示这一行的数据是关于哪张表的type 这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALLpossible_keys显示可能应用在这张表中的索引。如果为

29、空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句key实际使用的索引。如果为NULL,则没有使用索引。很少的情况下,MYSQL会选择优化不足的索引。这种情况下,可以在SELECT语句中使用USEINDEX(indexname)来强制使用一个索引或者用IGNOREINDEX(indexname)来强制MYSQL忽略索引key_len使用的索引的长度。在不损失精确性的情况下,长度越短越好ref显示索引的哪一列被使用了,如果可能的话,是一个常数rowsMYSQL认为必须检查的用来返回请求数据的行数Extra关于MYSQL如何解析

30、查询的额外信息。将在表4.3中讨论,但这里可以看到的坏的例子是Usingtemporary和Usingfilesort,意思MYSQL根本不能使用索引

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

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

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