HERHANGİ BİR boyutta olabilecek veriler için bir damla varchar'dan daha verimli midir?


9

Bir veritabanı kurarken, oldukça uzun veriler için en verimli veri türünü kullanmak istiyorum. Şu anda projem, o şarkıyla ilgili şarkı başlıklarını ve düşüncelerini saklamak. Bazı başlıklar 5 karakter veya 100 karakterden uzun olabilir ve düşünceler oldukça uzun sürebilir.

8000'e ayarlanmış bir varchar kullanmak veya bir damla kullanmak daha mı verimli? Bir blobu varchar ile aynı mıdır, ne tutarı olursa olsun tahsis edilmiş bir boyut var mı? ya da sadece bir işaretçi mi ve masada gerçekten fazla yer kullanmıyor mu? KB'de belirli bir set boyutu var mı veya genişletilebilir mi?

Yanıtlar:


12

BLOB üzerinden TEXT kullanmanızı öneririm .

Birincil Fark

  • TEXT ve BLOB tablodan gerçek depolamanın konumuna bir işaretçi olacak şekilde depolanır.

  • VARCHAR tablo ile birlikte saklanır.

Birincil Kılavuz

  1. Metin biçimindeki mesajlar neredeyse her zaman TEXT olarak depolanmalıdır (sonuç olarak keyfi olarak uzun olur)

  2. Dize nitelikleri VARCHAR (hedef kullanıcı adı, konu vb.) Olarak saklanmalıdır.


VARCHAR'ın ne zaman kullanılacağını ve TEXT'in ne zaman kullanılacağını seçmek için bu iş parçacıklarındaki Yığın taşması üzerinde kapsamlı bir şekilde tartışılmıştır:

  1. MySQL: Büyük VARCHAR mı TEXT mi?

  2. MySQL varchar (2000) metin mi?

Bunun için MySQL forumunda bir performans karşılaştırma iş parçacığı da vardır .


Bu bağlantılar için teşekkürler. Sorularımdan bazılarını yanıtladılar ve ben de bir METİN kullanmaya başladım. Sunucuda kapladığı fiziksel alana kadar aradığım şey tam olarak değildi, ama önemli olmadığı küçük bir proje olacağı sürece sanırım. Daha sonra daha büyük projeler yapmaya başlarsam öğrenmem gerekecek.
BillyNair

0

Ben sadece karmaşık veri türü seri hale, yani karmaşık bir sınıf tek bir tabloda depolamak istiyorsanız blob kullanmanız gerektiğini düşünüyorum. Yalnızca bir String (veya eşdeğeri) depolamak istiyorsanız blob kullanmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.