编辑 my.cnf或者my.ini文件,去除下面这几行代码的注释:
复制代码 代码如下:
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes
这将使得慢查询和没有使用索引的查询被记录下来。
这样做之后,对mysql-slow.log文件执行tail -f命令,将能看到其中记录的慢查询和未使用索引的查询。
随便提取一个慢查询,执行explain:
复制代码 代码如下:
explain low_query
你将看到下面的结果:
+----+-------------+---------------------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------------------+------+---------------+------+---------+------+------+-------------+
| 1 | SIMPLE | some_table | ALL | NULL | NULL | NULL | NULL | 166 | Using where |
+----+-------------+---------------------+------+---------------+------+---------+------+------+-------------+
注意上面的rows和key列。rows显示该查询影响了多少行记录,我们不想让这个值太大。key显示用了哪个索引,为NULL时表示查询未用任何索引。
如果想让查询更快,你或许需要为某些列增加索引:
CREATE INDEX myapp_mytable_myfield_idx on myapp_mytable(myfield);
除了配置mysql配置文件来实现记录慢查询外,还有下面的方法可以记录慢查询:
复制代码 代码如下:
SELECT t.TABLE_SCHEMA AS `db`,
t.TABLE_NAME AS `table`,
s.INDEX_NAME AS `index name`,
s.COLUMN_NAME AS `FIELD name`,
s.SEQ_IN_INDEX `seq IN index`,
s2.max_columns AS `# cols`,
s.CARDINALITY AS `card`,
t.TABLE_ROWS AS `est rows`,
ROUND(((s.CARDINALITY / IFNULL(t.TABLE_ROWS, 0.01)) * 100), 2) AS `sel %`
FROM INFORMATION_SCHEMA.STATISTICS s
INNER JOIN INFORMATION_SCHEMA.TABLES t ON s.TABLE_SCHEMA = t.TABLE_SCHEMA AND s.TABLE_NAME = t.TABLE_NAME
INNER JOIN (
SELECT TABLE_SCHEMA, TABLE_NAME, INDEX_NAME, MAX(SEQ_IN_INDEX) AS max_columns
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA != 'mysql' GROUP BY TABLE_SCHEMA, TABLE_NAME, INDEX_NAME ) AS s2 ON s.TABLE_SCHEMA = s2.TABLE_SCHEMA AND s.TABLE_NAME = s2.TABLE_NAME AND s.INDEX_NAME = s2.INDEX_NAME
WHERE t.TABLE_SCHEMA != 'mysql' /* Filter out the mysql system DB */
AND t.TABLE_ROWS > 10 /* Only tables with some rows */
AND s.CARDINALITY IS NOT NULL /* Need at least one non-NULL value in the field */
AND (s.CARDINALITY / IFNULL(t.TABLE_ROWS, 0.01)) < 1.00 /* unique indexes are perfect anyway */
ORDER BY `sel %`, s.TABLE_SCHEMA, s.TABLE_NAME /* DESC for best non-unique indexes */
LIMIT 10;
相关推荐:
SEO找出网站流量提升的终极策略,带你走向搜索引擎巅峰!,朝阳模板网站建设价格
ChatGPT错误处理与异常情况解决方法:让你的AI助手更加智能与可靠,智能ai鼠标ai智能语音
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像
seo菲律宾是做什么,菲律宾网址排名 ,openl ai
ChatGPT无法访问原因分析及解决方案,斑马ai报道
SEO对策:提升网站排名与流量的必备策略,SEO入门相机平价学生
ChatGPT:如果您正在使用VPN,这些技巧您一定要知道!,AI换脸*H
Bing无法使用怎么办?解决方法及替代方案推荐!,ai文字设计教程
seo需要什么器械,seo需要什么器械才能做 ,长续航ai纯电汽车
AI免费生成文章的软件:轻松创作的秘密武器
SEO可以帮助网站在搜索引擎中获得较高的排名-助力企业数字化转型的关键,赵立新AI换脸图片对比
什么是“神马关键词”?如何用它提升你的网络营销效果?,新闻发布网站怎么做推广
SEO要求:如何优化网站提升搜索引擎排名,助力企业获取更多流量,鹤山区网站运营推广
seo高手有什么条件,seo难上手吗 ,指南ai写作电力创新
怎么用AI生成文章?全新写作方式的揭秘与应用指南
ChatGPT支付时银行卡被拒绝?教你几招轻松解决问题!,国内ai换图
seo稿件是什么意思,seo文章写作要求 ,ai写作未来展望和展望
AI一键生成文章免费版:颠覆写作新体验
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
360刷排名工具选哪家?揭秘2025年最强排名优化工具!,ai写作网站哪个好一点
SEO网络营销:如何通过精准优化提升品牌价值,青州建设网站电话
专业SEO方案助力企业网站流量暴增,精准引流不再是难题,网站建设合同4篇
AI人工智能文章生成平台,释放创作无限可能
AI搜索相似文章怎么做?揭秘高效文章检索的核心技术!,程式ai软件
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
seo链接有什么用,seo外链是什么意思 ,one ai写作
ChatGPT显示“此网站无法加载站点”:背后原因与解决办法详解,用ai画明度渐变条
seo用什么论坛引流,seo引流方法 ,ai写作续写神器
seo要寻找什么资源,怎么找seo ,ai插画描边
ChatGPT免费版每天提问有次数限制吗?揭秘如何高效使用AI助手!,机甲ai手绘
SEO可以改变你的商业未来:如何通过优化提升网站流量和转化率,五粮液营销推广
怎么让AI写文章,轻松实现内容创作的智能化
SEO实际:如何在竞争激烈的市场中脱颖而出,dz论坛seo如何设置
为什么关键词太少会影响你的网络营销效果?,陕西seo网站推广工具
SEO代做:让你的企业轻松登顶搜索引擎,快速提升曝光率,seo 提高注册量
SEM做得好可以取代SEO吗?浅析两者的异同与未来趋势,王道ai
SEO自己:打造属于你的数字营销利器,微信裂变营销推广软件
SEO快速提升SEO排名的有效策略:让你的网页飞跃搜索引擎,ai调色食物
如何选择适合你的AI工具?全面解析AI工具哪个好用
SEO优化排名:让您的网站在搜索引擎中脱颖而出,我ai 达瓦仓决
AI助手推进:智能化时代的企业革命,ai改变图片颜色
URL站长的崛起:打造高效网站运营的秘密武器,网站建设费用计算依据
seo软文有什么作用,seo文案是什么 ,斐乐Ai测评问题
如何下载免费AI软件,让你的工作和生活更智能
“扩写AI”-引领写作革命,开启智能创作新时代,dede seo 标题如何填写
SEO开发:数字营销的核心驱动力,园区网站建设
SEO需要什么语音,seo需要考虑什么 ,学生作业ai
打造内容创作新时代:有言AI生成助力创作者释放灵感
丹东抖音seo是什么,抖音seo引流 ,ai工具编写作业指导书