有時候我們跑乙個語句,若修改大表或查詢量很大時候,不知道執行到什麼程度了,什麼時候能執行完成,在5.7版後可以查詢sys.session來觀察
select * from sys.session where conn_id != connection_id();
模擬對乙個大表執行了alter操作
alter table ytest.data_million_large change d d varchar(220);
ps: 這邊有個地兒感興趣的小夥伴可以去了解下,將字段d修改為 varchar(220) 以下,例如 varchar(200),這個會觸發copy,執行會非常慢,而若將值改大,例如 varchar(2000),執行會非常快,修改元資料。【表字符集 utf8】
mysql> select * from sys.session where conn_id != connection_id() g
*************************** 1. row ***************************
thd_id: 2560
conn_id: 2534
user: [email protected]
db: sys
command: query
state: copy to tmp table
time: 54
current_statement: alter table ytest.data_million_large change d d varchar(220)
statement_latency: 55.04 s
progress: 21.78 ## 執行的百分比
lock_latency: 39.49 ms
rows_examined: 0
rows_sent: 0
rows_affected: 0
tmp_tables: 0
tmp_disk_tables: 0
full_scan: no
last_statement: null
last_statement_latency: null
current_memory: 4.29 mib
last_wait: null
last_wait_latency: null
source: null
trx_latency: null
trx_state: null
trx_autocommit: null
pid: null
program_name: null
1 row in set (15.10 sec)
檢視sql語句的執行計畫
explain plan 是乙個很好的分析sql語句的工具,它甚至可以在不執行sql的情況下分析語句.通過分析,我們就可以知道oracle是怎麼樣連線表,使用什麼方式掃瞄表 索引掃瞄或全表掃瞄 以及使用到的索引名稱.你需要按照從裡到外,從上到下的次序解讀分析的結果.explain plan分析的結果...
mysql檢視SQL語句執行效率
主要用explain命令去檢視 語法 explain select from where 例如 explain select from city 結果如下 idselect type table type possible keys keykey len refrows extra 1 city a...
SQL SERVER如何檢視sql語句執行的時間
1.第一種測試方法 declare begin datetime,end datetime set begin getdate 你所要測試的sql語句 set end getdate print datediff millisecond,begin,end 1000.0 單位 s 2.另一種測試方法...