请教下, MySQL 有没有办法仅记录出使用 temporary 或 filesort 的查询么?

2015-07-09 09:48:33 +08:00
 kn007

朋友找我帮忙看下数据库,说想对一些查询做些优化。
说是临时表创建比较多,但不知道是具体哪些查询出现问题。
想问下有没有办法仅记录出使用某种方式的查询这种功能or工具,遂来请教一下。谢谢

tuning-primer.sh:
TEMP TABLES
Current max_heap_table_size = 256 M
Current tmp_table_size = 256 M
Of 62452 temp tables, 36% were created on disk
Perhaps you should increase your tmp_table_size and/or max_heap_table_size
to reduce the number of disk-based temporary tables
Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.

mysqltuner.pl:
[!!] Temporary tables created on disk: 57% (35K on disk / 62K total)

临时表存储在/dev/shm上,没有慢查询目前,就是看着上面的数据有些不爽。。。

2181 次点击
所在节点    MySQL
3 条回复
kn007
2015-07-09 14:32:30 +08:00
up一下
realpg
2015-07-09 15:16:26 +08:00
开发人员脑袋里对MYSQL基本的查询优化没概念

尤其是做商业软件的JAVA程序员最好干这个,我就见过给我写一个巨变态的大查询,就为了只用一个查询实现功能,那个SQL指令目测都有1500个字节,explain起来里面filesort不计其数

还是在程序设计查询的时候要想着数据库结构,想着怎么有效利用索引才是靠谱办法

还有,并不是filesort和temportary table就不靠谱,要结合数据量,有些查询没必要优化,因为数据两盒内存开销肯定吃得起,创建专门索引增容反而更坑
kn007
2015-07-09 16:53:29 +08:00
@realpg 非常感谢,现在确实没有慢查询,i/o也不高。貌似也确实没什么必要。
我其实是想了解下,有没有实现这种功能的方法或工具。

话说1500个字节的命令,这是什么查询。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/204389

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX