文件首頁
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 參考手冊  /  ...  /  字元和字串類型的最佳化

10.4.2.2 字元和字串類型的最佳化

對於字元和字串欄,請遵循這些準則

  • 當您不需要特定語言的校對功能時,請使用二進位校對順序來進行快速比較和排序操作。您可以使用 BINARY 運算子,在特定查詢中使用二進位校對。

  • 比較不同欄的值時,請盡可能宣告這些欄使用相同的字元集和校對,以避免在執行查詢時進行字串轉換。

  • 對於大小小於 8KB 的欄值,請使用二進位 VARCHAR 而非 BLOBGROUP BYORDER BY 子句可以產生暫時表格,如果原始表格不包含任何 BLOB 欄,這些暫時表格可以使用 MEMORY 儲存引擎。

  • 如果表格包含名稱和地址等字串欄,但許多查詢不會擷取這些欄,請考慮將字串欄分割到個別的表格中,並在必要時使用外索引鍵的聯結查詢。當 MySQL 從列中擷取任何值時,它會讀取包含該列所有欄的資料區塊(以及可能其他相鄰的列)。讓每個列保持小型,只包含最常用的欄,可以讓更多列放入每個資料區塊中。這種緊湊的表格可以減少一般查詢的磁碟 I/O 和記憶體使用量。

  • 當您在 InnoDB 表格中使用隨機產生值作為主索引鍵時,請盡可能以遞增值(例如目前日期和時間)作為前綴。當連續的主索引鍵值在實體上彼此相鄰儲存時,InnoDB 可以更快地插入和擷取它們。

  • 請參閱第 10.4.2.1 節「數值資料的最佳化」,了解為什麼數值欄通常比對等的字串欄更可取的理由。