Apakah gumpalan lebih efisien daripada varchar untuk data yang dapat ukuran APAPUN?

9

Saat menyiapkan database saya ingin menggunakan tipe data yang paling efisien untuk data yang berpotensi cukup lama. Saat ini proyek saya adalah untuk menyimpan judul lagu dan pemikiran yang berkaitan dengan lagu itu. Beberapa judul mungkin 5 karakter atau lebih dari 100 karakter dan pemikirannya bisa berjalan cukup lama.

Apakah lebih efisien menggunakan varchar set ke 8000 atau menggunakan gumpalan? Apakah menggunakan gumpalan sama dengan varchar, karena ada ukuran yang ditetapkan itu dialokasikan terlepas dari apa yang dipegangnya? atau itu hanya sebuah pointer dan itu tidak benar-benar menggunakan banyak ruang di atas meja? Apakah ada ukuran gumpalan tertentu di KB atau dapat diperluas?

BillyNair
sumber

Jawaban:

12

Saya akan menyarankan menggunakan TEXT melalui BLOB.

Perbedaan utama

  • TEXT dan BLOB disimpan dari tabel dengan tabel hanya memiliki pointer ke lokasi penyimpanan yang sebenarnya.

  • VARCHAR disimpan sejajar dengan tabel.

Pedoman Utama

  1. Pesan berformat teks hampir selalu disimpan sebagai TEXT (akhirnya panjangnya sewenang-wenang)

  2. Atribut string harus disimpan sebagai VARCHAR (nama pengguna tujuan, subjek, dll ...).


Untuk memilih kapan menggunakan VARCHAR dan kapan menggunakan TEXT telah dibahas secara luas tentang Stack overflow di utas ini:

  1. MySQL: VARCHAR Besar vs. TEKS?

  2. MySQL varchar (2000) vs teks?

Ada juga utas perbandingan kinerja untuk ini di forum MySQL.

Ozair Kafray
sumber
Terima kasih atas tautannya. Mereka menjawab beberapa pertanyaan yang saya miliki, dan akhirnya saya menggunakan TEXT. Itu tidak persis apa yang saya cari sejauh ruang fisik di server, tapi saya kira selama itu hanya akan menjadi proyek kecil itu tidak masalah. Kemudian jika saya mulai melakukan proyek yang lebih besar saya perlu mencari tahu.
BillyNair
0

Saya pikir Anda harus menggunakan gumpalan hanya jika Anda memiliki tipe data kompleks serial, yaitu jika Anda ingin menyimpan dalam satu tabel kelas kompleks. Jika Anda hanya ingin menyimpan String (atau sesuatu yang setara) jangan gunakan gumpalan.

m3th0dman
sumber