我有以下查詢需要時間。 Mytable類型是innodb,並且在字段上有主鍵tsh_id 我還在transaction_Id字段中添加了索引Mysql innodb查詢返回緩慢的結果
以下是我的數據庫存儲過程中的實現。
DECLARE lv_timestamp DATETIME(3);
SET @lv_timestamp = NOW(3);
IF(mycondition) then
SET @lv_Duration :=(SELECT UNIX_TIMESTAMP (@lv_timestamp) - UNIX_TIMESTAMP (`changedon`)
FROM `MyTable`
WHERE transaction_Id = _transaction_Id
ORDER BY tsh_id DESC
LIMIT 1)
End if;
請提出諸如此類的改良
編輯:
解釋到查詢說
"select_type":"SIMPLE",
"table":"MyTable",
"type":"ref",
"possible_keys":"IX_MyTable_Transaction",
"key":"IX_MyTable_Transaction",
"key_len":"98",
"ref":"const",
"rows":1,
"Extra":"Using where"
是什麼在查詢運行'EXPLAIN'的意見呢? –
我編輯了我的問題,並給出了詳細的解釋說 –
我不能馬上看到解釋說,查詢本身應該很慢。也許有更多的mysql優化經驗的人會有一些輸入。 –