首頁 > 資料庫 > mysql教程 > 參考清單的 INT 或 VARCHAR 主鍵:效能真的很重要嗎?

參考清單的 INT 或 VARCHAR 主鍵:效能真的很重要嗎?

Patricia Arquette
發布: 2024-12-21 12:03:10
原創
151 人瀏覽過

INT or VARCHAR Primary Keys for Reference Lists: Does Performance Really Matter?

INT 與VARCHAR 主鍵:澄清效能問題

MySQL 中INT 和VARCHAR 主鍵之間的選擇長期以來一直存在爭議,特別是關於參考文獻列表。雖然 INT 是傳統選擇,但 VARCHAR 由於能夠直接呈現資訊而越來越受歡迎,從而可能減少對 JOIN 的需求。

本文旨在研究使用 INT 與 VARCHAR 主鍵的效能影響在特定用例中:參考列表,例如美國州和國家代碼。

基準結果

為了評估效能差異,使用以下設定進行了一系列基準測試:

  • Intel® Core™ i7- 7500U CPU @ 2.70GHz × 4
  • 15.6 GiB記憶體
  • Ubuntu 16.04 64 位元
  • MySQL Ver 14.14 Distrib 5.7.20

建立了兩組表:INTINT 表索引和未索引。然後,在表中填入 1000 萬行,並對每個表執行基準查詢,以測量檢索特定行所需的時間。

基準查詢執行時間

基準查詢的執行時間如下:

  • jan_int: 21.30秒
  • jan_int_index:18.79秒
  • jan_char:21.70秒
  • jan_char_index:18.85秒jan sec
  • jan_varchar_index: 18.86 sec
分析

結果表明,INT 和VARCHAR 主鍵的性能差異很小,可供參考列表。無論鍵是否被索引,基準查詢執行時間都在幾百毫秒之內。

這表示使用 VARCHAR 主鍵減少 JOIN 的效能優勢被額外的儲存可變長度資料的開銷。

結論

基於基準根據結果,可以得出結論,對於像美國州和國家代碼這樣的參考列表,INT 和VARCHAR 主鍵之間的選擇主要是偏好問題,而不是效能問題。效能差異可以忽略不計,其他因素,例如資料一致性和未來的可擴展性,可能會影響決策。

以上是參考清單的 INT 或 VARCHAR 主鍵:效能真的很重要嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板