记一次mysql的调优_MySQL
Jun 01, 2016 pm 01:47 PMbitsCN.com
问题现象
mysql CPU占用188%(多核)
解决方法
1.跟踪慢查询
vi /etc/my.cnf 在mysqld下增加如下内容
log-slow-queries = slow.log
long_query_time = 5
含义为记录查询时间超过5秒的SQL到slow.log
查找slow.log的内容,发现里面有大量的SQL,下面有几个SQL优化原则
a) 对where语句的字段进行建索引,假定如下SQL为slow.log的内容
select count(*) from table where table_column=‘test’
那么就要对该table_column建立索引(这只是一个普遍的规则,详细规则请到网上查)
建立了索引以后,修改一下mysql的参数
2.调整mysql参数
vi /etc/my.cnf
在[mysqld]下增加如下
tmp_table_size=1024M
增加完毕后重启mysql,再进行观察,如果还是负载很高,可以适当调高,我将这个参数调整到2048后负载就下来了
这个参数值应该根据具体情况具体对待,没有一个特定的值。
那么这个参数到底是干什么用的呢?为什么如此神奇?哈哈,当执行一个查询,如果SQL对查询进行group by 或者orderby的时候都会将结果集放在这个空间中,因此说如果这个参数很小的话,就会出现上面的问题了~~

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

So überprüfen Sie Ihre akademischen Qualifikationen auf Xuexin.com

12306 So überprüfen Sie historische Ticketkaufdatensätze. So überprüfen Sie historische Ticketkaufdatensätze

So überprüfen Sie das Aktivierungsdatum auf einem Apple-Mobiltelefon

Wie frage ich mit Oracle ab, ob eine Tabelle gesperrt ist?

Vergleich der Ähnlichkeiten und Unterschiede zwischen MySQL und PL/SQL

Wie kann ich den aktuellen Preis von Tongshen Coin überprüfen?

Wie kann ich den aktuellen Preis der INJ-Münze überprüfen?

Diskutieren Sie den Austausch von Fähigkeiten zur Datenbankstandortabfrage
