Rumah >pangkalan data >tutorial mysql >Kunci Utama INT atau VARCHAR untuk Senarai Rujukan: Adakah Prestasi Sangat Penting?

Kunci Utama INT atau VARCHAR untuk Senarai Rujukan: Adakah Prestasi Sangat Penting?

Patricia Arquette
Patricia Arquetteasal
2024-12-21 12:03:10206semak imbas

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

INT vs. VARCHAR Primary Keys: Mythbusting Performance concerns

Pilihan antara kunci utama INT dan VARCHAR dalam MySQL telah lama diperdebatkan, terutamanya berkenaan senarai rujukan. Walaupun INT ialah pilihan tradisional, VARCHAR semakin popular kerana keupayaannya untuk menyampaikan maklumat secara langsung, yang berpotensi mengurangkan keperluan untuk MENYERTAI.

Artikel ini bertujuan untuk menyiasat implikasi prestasi penggunaan kunci utama INT lwn. VARCHAR dalam kes penggunaan tertentu: senarai rujukan seperti negeri dan kod negara AS.

Tanda Aras Keputusan

Untuk menilai perbezaan prestasi, satu siri penanda aras telah dijalankan menggunakan persediaan yang terdiri daripada:

  • Intel® Core™ i7-7500U CPU @ 2.70GHz × 4
  • 15.6 GiB RAM
  • Ubuntu 16.04 64-bit
  • MySQL Ver 14.14 Distrib 5.7.20

Dua set jadual telah dicipta: jadual INT dan jadual VARCHAR, masing-masing diindeks dan tidak diindeks. Jadual tersebut kemudiannya diisi dengan 10 juta baris dan pertanyaan penanda aras telah dilaksanakan pada setiap jadual untuk mengukur masa yang diperlukan untuk mendapatkan baris tertentu.

Masa Pelaksanaan Pertanyaan Penanda Aras

Masa pelaksanaan pertanyaan penanda aras adalah seperti berikut:

  • jan_int: 21.30 saat
  • jan_int_index: 18.79 saat
  • jan_char: 21.70 saat
  • 18.char.8_index: 18. saat
  • jan_varchar: 21.76 saat
  • jan_varchar_index: 18.86 saat

Analisis

Keputusan menunjukkan bahawa prestasi antara kunci utama INT dan VARCHAR adalah minimum untuk senarai rujukan. Masa pelaksanaan pertanyaan penanda aras berada dalam beberapa ratus milisaat antara satu sama lain, tidak kira sama ada kunci diindeks atau tidak.

Ini menunjukkan bahawa faedah prestasi mengurangkan JOIN menggunakan kunci utama VARCHAR diimbangi oleh tambahan overhed menyimpan panjang berubah-ubah data.

Kesimpulan

Berdasarkan hasil penanda aras, dapat disimpulkan bahawa, untuk senarai rujukan seperti negeri dan kod negara AS, pilihan antara INT dan VARCHAR utama kunci adalah terutamanya soal keutamaan dan bukannya prestasi. Perbezaan prestasi boleh diabaikan dan faktor lain, seperti ketekalan data dan kebolehskalaan masa hadapan, mungkin mempengaruhi keputusan.

Atas ialah kandungan terperinci Kunci Utama INT atau VARCHAR untuk Senarai Rujukan: Adakah Prestasi Sangat Penting?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn