文件首頁
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 查詢

10.5.6 優化 InnoDB 查詢

若要調整 InnoDB 表格的查詢,請在每個表格上建立適當的索引集。詳情請參閱第 10.3.1 節,「MySQL 如何使用索引」。遵循以下 InnoDB 索引的準則

  • 由於每個 InnoDB 表格都有主鍵(無論您是否要求),請為每個表格指定一組主鍵欄位,這些欄位用於最重要且時間要求嚴格的查詢中。

  • 不要在主鍵中指定太多或太長的欄位,因為這些欄位值會在每個次要索引中重複。當索引包含不必要的資料時,讀取此資料的 I/O 和快取記憶體會降低伺服器的效能和可擴展性。

  • 不要為每個欄位建立單獨的次要索引,因為每個查詢只能使用一個索引。對很少測試的欄位或只有幾個不同值的欄位建立索引可能對任何查詢都沒有幫助。如果您對同一個表格有很多查詢,測試不同的欄位組合,請嘗試建立少量的串連索引,而不是大量單一欄位索引。如果索引包含結果集所需的所有欄位(稱為涵蓋索引),查詢可能完全能夠避免讀取表格資料。

  • 如果索引的欄位不能包含任何 NULL 值,請在建立表格時將其宣告為 NOT NULL。當最佳化工具知道每個欄位是否包含 NULL 值時,它可以更好地判斷哪個索引最適合用於查詢。

  • 您可以使用第 10.5.3 節,「最佳化 InnoDB 唯讀交易」中的技術來最佳化 InnoDB 表格的單一查詢交易。