首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL SQL_BUFFER_RESULT 提示:釋放表鎖、應對大結果集傳輸延遲

     編輯:MySQL 資料庫相關知識

語法

SELECT SQL_BUFFER_RESULT ... FROM ...

運作機制

  • 強制 MySQL 將結果集先寫入臨時表(記憶體或磁碟)。
  • 臨時表建立完成後,立即釋放所有表鎖。
  • 客戶端再從臨時表慢速讀取結果,不再阻塞其他查詢。

適用場景

  • 結果集極大,網路傳輸耗時長,導致表鎖長時間持有。
  • 高併發環境下,避免長查詢阻塞寫入操作。
  • 需盡快釋放鎖資源,犧牲少量臨時表建立開換取併發度。

注意事項

  • 臨時表可能寫入磁碟(超過 tmp_table_size/max_heap_table_size),產生額外 I/O。
  • 不適用於 LIMIT 只取前幾行的查詢(會多做無用功)。
  • 僅作為戰術性優化,根本解決仍需索引、分頁、縮小結果集。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved