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


MySQL 8.4 參考手冊  /  ...  /  使用 InnoDB 資料表的優點

17.1.1 使用 InnoDB 資料表的優點

InnoDB 資料表具有以下優點:

  • 如果伺服器因硬體或軟體問題而意外退出,無論當時資料庫中發生什麼,您都不需要在重新啟動資料庫後執行任何特殊操作。InnoDB 當機復原會自動完成在當機時間之前已提交的變更,並還原正在處理但未提交的變更,讓您可以重新啟動並從上次中斷的地方繼續。請參閱第 17.18.2 節,「InnoDB 還原」

  • InnoDB 儲存引擎維護自己的緩衝池,將資料表和索引資料快取在主記憶體中,以便在存取資料時使用。常用資料直接從記憶體中處理。此快取適用於許多類型的資訊,並加快處理速度。在專用資料庫伺服器上,通常會將高達 80% 的實體記憶體分配給緩衝池。請參閱第 17.5.1 節,「緩衝池」

  • 如果您將相關資料分割到不同的資料表中,您可以設定外來鍵來強制執行參考完整性。請參閱第 15.1.20.5 節,「外來鍵約束」

  • 如果資料在磁碟或記憶體中損壞,校驗和機制會在您使用虛假資料之前發出警告。innodb_checksum_algorithm 變數定義 InnoDB 使用的校驗和演算法。

  • 當您為每個資料表設計適當的主索引鍵欄位時,涉及這些欄位的操作會自動最佳化。在 WHERE 子句、ORDER BY 子句、GROUP BY 子句和聯結操作中參考主索引鍵欄位非常快。請參閱第 17.6.2.1 節,「叢集索引與次要索引」

  • 插入、更新和刪除操作會透過一個名為變更緩衝的自動機制進行最佳化。InnoDB 不僅允許對同一個資料表進行並行的讀取和寫入存取,它還會快取變更的資料以簡化磁碟 I/O。請參閱第 17.5.2 節「變更緩衝」

  • 效能優勢不僅限於執行長時間查詢的大型資料表。當從資料表重複存取相同的列時,自適性雜湊索引會接管,讓這些查詢速度更快,就像從雜湊表取得資料一樣。請參閱第 17.5.3 節「自適性雜湊索引」

  • 您可以壓縮資料表和相關索引。請參閱第 17.9 節「InnoDB 資料表和頁面壓縮」

  • 您可以加密您的資料。請參閱第 17.13 節「InnoDB 靜態資料加密」

  • 您可以建立和刪除索引,並執行其他 DDL 操作,而對效能和可用性的影響要小得多。請參閱第 17.12.1 節「線上 DDL 操作」

  • 截斷每個資料表檔案的表空間非常快速,並且可以釋放磁碟空間,供作業系統重複使用,而不僅僅是 InnoDB。請參閱第 17.6.3.2 節「每個資料表檔案的表空間」

  • 使用 DYNAMIC 列格式,BLOB 和長文字欄位的資料表資料儲存配置效率更高。請參閱第 17.10 節「InnoDB 列格式」

  • 您可以透過查詢 INFORMATION_SCHEMA 資料表來監控儲存引擎的內部運作。請參閱第 17.15 節「InnoDB INFORMATION_SCHEMA 資料表」

  • 您可以透過查詢效能架構資料表來監控儲存引擎的效能詳細資訊。請參閱第 17.16 節「InnoDB 與 MySQL 效能架構的整合」

  • 您可以將 InnoDB 資料表與來自其他 MySQL 儲存引擎的資料表混合使用,即使在同一個陳述式中也是如此。例如,您可以使用聯結操作來組合來自 InnoDBMEMORY 資料表的資料在單一查詢中。

  • InnoDB 在處理大量資料時,設計上兼顧 CPU 效率和最大效能。

  • InnoDB 資料表可以處理大量資料,即使在檔案大小限制為 2GB 的作業系統上也是如此。

有關您可以應用於 MySQL 伺服器和應用程式碼的 InnoDB 特定調整技術,請參閱第 10.5 節「針對 InnoDB 資料表進行最佳化」