【MYSQL】state狀態converting HEAP to MyISAM
背景:機房遷移,原報表系統在新的db上出報表非常慢
1.檢視連線狀態
報表sql狀態如上
2.處理過程
1.檢視連線狀態
-
mysql> show full processlist;
-
+--------+-----------------+---------------------+----------+---------+---------+-----------------------------------------------------------------------------+-----------------------+
-
| Id | User | Host | db | Command | Time | State | Info |
-
+--------+-----------------+---------------------+----------+---------+---------+-----------------------------------------------------------------------------+-----------------------+
-
| 1 | event_scheduler | localhost | NULL | Daemon | 2247681 | Waiting on empty queue | NULL |
-
| 121456 | system user | | NULL | Connect | 784383 | Waiting for master to send event | NULL |
-
| 121457 | system user | | NULL | Connect | 1 | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL |
-
| 121468 | ecejadmin | 192.168.2.104:42497 | ecejdbv3 | converting HEAP to MyISAM | 1 | | 複雜sql |
-
| 121469 | ecejadmin | 192.168.2.10:54423 | ecejdbv3 | converting HEAP to MyISAM | 2 | | 複雜sql |
-
| 121470 | ecejadmin | 192.168.2.12:9386 | ecejdbv3 | converting HEAP to MyISAM | 1 | | 複雜sql |
- | 121471 | ecejadmin | 192.168.2.104:63937 | ecejdbv3 | converting HEAP to MyISAM | 2 | | 複雜sql
報表sql狀態如上
2.處理過程
-
1.在終端裡set profiling=1;
-
2.輸入要調整的SQL語句,比如複雜sql;
-
3.輸入show profiles;看看剛才那條語句的ID 用於後面分析
-
4.show profile for query 2;
-
5.show profile block io,cpu for query 2;
-
6.show profile cpu,block io,memory,swaps,context switches,source for query 5;
- 7.透過上面的一些查詢 大體可以看出這條SQL語句執行的時候哪些地方佔用的時間太大了。這次測試看到的是Copying to tmp table on disk和converting HEAP to MyISAM佔有的時間太多。網上查了一下發現可以修改一下tmp_table_size和max_heap_table_size兩個引數來調整,使得大資料量的查詢時不用將結果集複製到物理磁碟。這樣時間就爭取過來了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2144585/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL引擎介紹ISAM,MyISAM,HEAP,InnoDBMySql
- 狀態模式(State)模式
- 狀態模式(State pattern)模式
- Flutter State Management狀態管理全面分析Flutter
- 設計模式之狀態模式(State)設計模式
- 設計模式-狀態模式(State Pattern)設計模式
- React學習筆記-State(狀態)React筆記
- 設計模式——20狀態模式(State)設計模式
- 轉載---Dephi狀態模式(State模式)模式
- 設計模式之狀態模式---State Pattern設計模式
- 原生 JavaScript 實現 state 狀態管理系統JavaScript
- C#設計模式系列:狀態模式(State)C#設計模式
- 設計模式--狀態模式State(行為型)設計模式
- JAVA設計模式之 狀態模式【State Pattern】Java設計模式
- REST = Representational State Transfer(表述性狀態轉移)REST
- ReactState(狀態):React通過this.state來訪問state,通過this.setState()方法來更新stateReact
- .NET下的狀態(State)模式 ------行為型模式模式
- MFC的模組狀態:從AfxGetApp()和AFX_MANAGE_STATE()看MFC的模組狀態APP
- 電子遊戲、規則和結束狀態(end state)遊戲
- 從狀態管理(State Manage)到MVI(Model-View-Intent)ViewIntent
- 【設計模式基礎】行為模式 - 8 -狀態(State)設計模式
- 【翻譯】What is State Machine Diagram(什麼是狀態機圖)?Mac
- MySQL: InnoDB 還是 MyISAM?MySql
- 設計模式之策略模式和狀態模式(strategy pattern & state pattern)設計模式
- 使用C# (.NET Core) 實現狀態設計模式 (State Pattern)C#設計模式
- 【Flink入門修煉】2-2 Flink State 狀態
- mysql 鎖狀態的一些狀態資訊記錄MySql
- mysql show processlist stateMySql
- mysql myisam的鎖機制MySql
- React Native 探索(三)元件的 Props (屬性) 和 State (狀態)React Native元件
- SAP 電商雲 UI State persistence 狀態持久化設計的入口 - initSyncUI持久化
- MySQL 分析伺服器狀態MySql伺服器
- 【MySQL】常見的mysql 程式stateMySql
- Raft演算法系列教程2:狀態機複製 (State Machine Replication)Raft演算法Mac
- 23種設計模式 之 State模式(狀態模式)[C語言實現]設計模式C語言
- MySQL的MYISAM引擎的索引方式MySql索引
- MySQL 5.5 MyISAM表鎖測試MySql
- MySQL執行緒狀態詳解MySql執行緒