请选择 进入手机版 | 继续访问电脑版

老米之家

 找回密码
 立即注册
查看: 95|回复: 0

利用SQL提升网站访问速度的技巧

[复制链接]

2841

主题

2841

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10925
发表于 2022-5-27 08:42:59 | 显示全部楼层 |阅读模式
使用动态数据库驱动的网站,例如WordPress,你的网站可能依然有一个问题亟待解决:数据库查询拖慢了网站访问速度。我将介绍如何识别导致性能出现问题的查询,如何找出它们的问题所在,以及快速修复这些问题和其他加快查询速度的方法。我会把门户网站 deliciousbrains.com 出现的 拖慢查询速度的情况作为实际的案例。
定位处理慢SQL查询的第一步是找到慢查询。Ashley已经在之前的 博客 里面赞扬了调试插件 Query Monitor ,而且这个插件的数据库查询特性使其成为定位慢SQL查询的宝贵工具。该插件会报告所有页面请求过程中的数据库请求,并且可以通过调用这些查询代码或者原件(插件,主题,WordPress核)过滤这些查询,高亮重复查询和慢查询。要是不愿意在生产安环境装调试插件,也可以打开 MySQL Slow Query Log,这样在特定时间执行的所有查询都会被记录下来。这种方法配置和设置存放查询位置相对简单。由于这是一个服务级别的调整,性能影响会小于使用调试插件,但当不用的时候也应该关闭。理解一旦你找到了一个你要花很大代价找到的查询,那么接下来就是尝试去理解它并找到是什么让查询变慢。最近,在我们开发我们网站的时候,我们找到了一个要执行8秒的查询。我们使用WooCommerce和定制版的WooCommerce软件插件来运行我们的插件商店。此查询的目的是获取那些我们知道客户号的客户的所有订阅。 WooCommerce是一个稍微复杂的数据模型, 即使订单以自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在 post_author, 而是作为后期数据的一部分。订阅软件插件给自义定表创建了一对链接。让我们深入了解查询的更多信息。MySQL是你的朋友MySQL有一个很方便的语句 DESCRIBE ,它可以输出表结构的信息,比如字段名,数据类型等等。你可能已经知道了这个语句。但是你知道 DESCRIBE语句可以放在SELECT, INSERT, UPDATE, REPLACE 和 DELETE语句前边使用吗 ?更为人们所熟知的是他的同义词 EXPLAIN ,并将提供有关该语句如何执行的详细信息。以上就是利用SQL提升网站访问速度的技巧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|老米之家 ( 蜀ICP备2021018398号-10 )|网站地图

GMT+8, 2022-11-26 16:23 , Processed in 0.048604 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表