朋友找我帮忙看下数据库,说想对一些查询做些优化。
说是临时表创建比较多,但不知道是具体哪些查询出现问题。
想问下有没有办法仅记录出使用某种方式的查询这种功能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上,没有慢查询目前,就是看着上面的数据有些不爽。。。
1
kn007 OP up一下
|
2
realpg 2015-07-09 15:16:26 +08:00 1
开发人员脑袋里对MYSQL基本的查询优化没概念
尤其是做商业软件的JAVA程序员最好干这个,我就见过给我写一个巨变态的大查询,就为了只用一个查询实现功能,那个SQL指令目测都有1500个字节,explain起来里面filesort不计其数 还是在程序设计查询的时候要想着数据库结构,想着怎么有效利用索引才是靠谱办法 还有,并不是filesort和temportary table就不靠谱,要结合数据量,有些查询没必要优化,因为数据两盒内存开销肯定吃得起,创建专门索引增容反而更坑 |