IT互联网小助手|收藏|SQL查询优化技巧,提升网站访问速度!
北京联盟_本文原题:收藏|SQL查询优化技巧 , 提升网站访问速度!
在这篇文章中 , 将介绍如何识别导致性能出现问题的查询 , 如何找出它们的问题所在 , 以及快速修复这些问题和其他加快查询速度的方法 。
本文插图
你一定知道 , 一个快速访问的网站能让用户喜欢 , 可以帮助网站从Google 上提高排名 , 可以帮助网站增加转化率 。 如果你看过网站性能优化方面的文章 , 例如设置服务器的最佳实现、到干掉慢速代码以及 使用CDN 加载图片 , 就认为你的 WordPress 网站已经足够快了 。 但是事实果真如此吗?
使用动态数据库驱动的网站 , 例如WordPress , 你的网站可能依然有一个问题亟待解决:数据库查询拖慢了网站访问速度 。
在这篇文章中 , 浙江优就业的小U老师将介绍如何识别导致性能出现问题的查询 , 如何找出它们的问题所在 , 以及快速修复这些问题和其他加快查询速度的方法 。 我会把门户网站 deliciousbrains.com 出现的拖慢查询速度的情况作为实际的案例 。
定位
处理慢SQL查询的第一步是找到慢查询 。 Ashley已经在之前的博客里面赞扬了调试插件Query Monitor , 而且这个插件的数据库查询特性使其成为定位慢SQL查询的宝贵工具 。
该插件会报告所有页面请求过程中的数据库请求 , 并且可以通过调用这些查询代码或者原件(插件 , 主题 , WordPress核)过滤这些查询 , 高亮重复查询和慢查询 。
本文插图
要是不愿意在生产安环境装调试插件(性能开销原因) , 也可以打开MySQL Slow Query Log , 这样在特定时间执行的所有查询都会被记录下来 。 这种方法配置和设置存放查询位置相对简单 。
由于这是一个服务级别的调整 , 性能影响会小于使用调试插件 , 但当不用的时候也应该关闭 。
理解
一旦你找到了一个你要花很大代价找到的查询 , 那么接下来就是尝试去理解它并找到是什么让查询变慢 。 最近 , 在我们开发我们网站的时候 , 我们找到了一个要执行8秒的查询 。
我们使用WooCommerce和定制版的WooCommerce软件插件来运行我们的插件商店 。 此查询的目的是获取那些我们知道客户号的客户的所有订阅 。
WooCommerce是一个稍微复杂的数据模型 , 即使订单以自定义的类型存储 , 用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author , 而是作为后期数据的一部分 。 订阅软件插件给自义定表创建了一对链接 。 让我们深入了解查询的更多信息 。
把 MySQL 当作朋友
MySQL有一个很方便的语句DESCRIBE , 它可以输出表结构的信息 , 比如字段名 , 数据类型等等 。 所以 , 当你执行DESCRIBE wp_postmeta;你将会看到如下的结果:
本文插图
你可能已经知道了这个语句 。 但是你知道DESCRIBE语句可以放在SELECT, INSERT, UPDATE, REPLACE 和 DELETE语句前边使用吗?更为人们所熟知的是他的同义词 EXPLAIN, 并将提供有关该语句如何执行的详细信息 。
这是我们查询到的结果:
本文插图
【IT互联网小助手|收藏|SQL查询优化技巧,提升网站访问速度!】
乍一看 , 这很难解释 。 幸运的是 , 人们通过SitePoint总结了一个理解语句的全面指南 。
最重要的字段是type , 它描述了一张表是怎么构成的 。
推荐阅读
- 行业互联网,科创板|中一签大赚10万?本周打新千万别错过这一家
- 行业互联网|1.5亿元重奖50位青年科学家!可做科研也可还房贷
- 行业互联网|理光发布全新RICOH M C2000,打造恰到好处的新精彩
- 行业互联网|深圳第22届高交会闭幕:一大批新技术新成果集中亮相
- |互联网反垄断能成功吗?
- 行业互联网|2020十大新兴技术揭晓!每一项都可能颠覆我们的生活
- 智能穿戴,语音助手|HiFi级真无线蓝牙耳机,国民好物aigo T10测评
- 行业互联网|英国运输技术论坛发布网络安全标准和指南摘要
- 标杆学习|走进北京小米新总部参观考察-对标小米互联网思维与生态链创新
- IPv|专家:IPv6蕴藏机遇多,是支撑下一代互联网的基础