文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  BLOB 類型的最佳化

10.4.2.3 BLOB 類型的最佳化

  • 在儲存包含文字資料的大型 blob 時,請考慮先壓縮它。當整個表格由 InnoDBMyISAM 壓縮時,請勿使用此技術。

  • 對於具有多個欄位的表格,為了減少不使用 BLOB 欄位的查詢的記憶體需求,請考慮將 BLOB 欄位拆分到單獨的表格中,並在需要時使用聯結查詢來參考它。

  • 由於擷取和顯示 BLOB 值的效能需求可能與其他資料類型非常不同,您可以將 BLOB 特定的表格放在不同的儲存裝置,甚至是單獨的資料庫實例上。例如,擷取 BLOB 可能需要大量的循序磁碟讀取,這比 SSD 裝置更適合傳統硬碟。

  • 請參閱章節 10.4.2.2,「最佳化字元和字串類型」,了解為何二進位 VARCHAR 欄位有時比對等的 BLOB 欄位更佳的原因。

  • 您可以在單獨的欄位中儲存欄位值的雜湊,為該欄位建立索引,並在查詢中測試雜湊值,而不是測試與非常長的文字字串的相等性。(使用 MD5()CRC32() 函式產生雜湊值。)由於雜湊函式可能會為不同的輸入產生重複的結果,因此您仍然需要在查詢中加入 AND blob_column = long_string_value 子句,以防止誤判;效能優勢來自於較小的、易於掃描的雜湊值索引。