《MySQL查询优化》.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《MySQL查询优化》.ppt

如何分析慢查询 SHOW FULL PROCESSLIST 比较重要的一个字段:State Query:正在执行查询或者发送数据到客户端 Locked:等待锁 Analyzing and statistics:收集统计信息,生成查询执行计划 Copying to tmp table [on disk]:正在执行的查询将结果集放到临时表中,GROUP BY操作、文件排序操作、UNION操作,on disk这个临时表在硬盘上 Sorting result:对结果集进行排序 MySQL 查询优化 查询为什么会慢 如何分析慢查询 SQL优化案例 SQL优化总结 目录索引 查询为什么会慢 通常所说查询慢即响应时间长。一个查询的生命周期:从客户端,到服务器,然后服务器进行解析、执行,最后返回结果给客户端。 时间消耗。网络,CPU计算,执行计划,锁等待,调用底层存储引擎获取数据,I/O操作,系统调用等等。 查询慢原因。不必要的额外操作,某些操作被额外的重复了很多次,某些操作被执行的太慢等等。 最最基本的原因访问的数据的太多。 如何分析慢查询 确认你的SQL是否查询了大量的不必要数据。也就是太多的行,非必要的列。(PHP) SELECT * FROM warning_event 确认服务器层是否分析了大量超过所需的行。 如何判断?估算响应时间、扫描的行数和返回的行数(EXPLAIN) SELECT * FROM warning_event WHERE assailant_id=1 如何分析慢查询 EXPLAIN SELECT 1 FROM warning_event WHERE event_code=1 limit 1; +-------------+------+------+------+-------------+ | select_type | type | ref | rows | Extra | +-------------+------+------+------+-------------+ | SIMPLE | ALL | NULL | 285 | Using where | +-------------+------+------+------+-------------+ event_code增加索引 +-------------+------+-------+------+--------------------------+ | select_type | type | ref | rows | Extra | +-------------+------+-------+------+--------------------------+ | SIMPLE | ref | const | 1 | Using where; Using index | +-------------+------+-------+------+--------------------------+ SQL优化案例 单表优化 SELECT * FROM warning_event 1、查询多余的行、多余的列 SELECT id,assailant FROM warning_event LIMIT 0,10 2、加个查询条件试试 SELECT id FROM warning_event WHERE assailant=qingtao LIMIT 0,10 类似上面用EXPLAIN分析一下,加索引优化。索引有哪些? EXPLAIN EXTENDED SQL; SHOW WARNINGS; 可能会有惊喜哦。 3、有LIMIT的查询一定很快吗? 答案必然是:No!亲测500万数据,后边基本执行不动。 为啥呢? 如何优化? SQL优化案例 test: id PRIMARY KEY, name VARCHAR(255), num INT SELECT * FROM test ORDER BY id LIMIT 4899999,10 优化后: SELECT * FROM test WHERE id=(SELECT id FROM test ORDER BY id LIMIT 4899999,1) LIMIT 10 多表优化 数据展示:样本视图,包含样本、攻击事件数、攻击者数、被攻击者数 数据表: warning_sample,样本表; warning_event_sample,事件样本关联表

文档评论(0)

wfkm + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档