Tablonun boyutu gerçekten sorun değil, bu tabloda çalıştırdığınız sorgular olabilir.
Örneğin, kullanıcı meta tablosunda depolanan verilere dayalı olarak kullanıcı seçerseniz, meta_değer, dizine alınmış bir alan olmadığından bu sorgu son derece optimize edilmeyecektir. Bu durumda, ekstra dizinler eklemeniz veya bu verileri özel bir sınıflandırma gibi farklı bir şekilde depolamayı düşünmeniz gerekebilir.
Genel olarak konuşursak, meta olarak sakladığınız şeyler hiçbir zaman yalnızca özel olarak arayacağınız bir şey olmamalıdır. Bu, WordPress'teki tüm meta tablolarda geçerlidir. Meta, meta_value tarafından değil, esas olarak meta_key tarafından çıkarılacak şekilde tasarlanmıştır. Taksonomiler olası değerleri bir kümeyle sınırlar ve bilgileri farklı şekilde düzenler, böylece "değer" seçtiğiniz gibi sayıldığında daha iyi olur.
Hem meta_key hem de meta_value tarafından seçim genellikle uygundur, çünkü mySQL, sorguyu önce meta_key'e göre optimize edecek ve (umarım) yönetilebilir bir sınıra kadar arama yapılacak veri miktarını azaltacaktır. Bu bile bir sorun haline gelirse, meta tabloya dizinde meta_key ve meta_value ile yeni bir dizin ekleyerek "düzeltebilirsiniz", ancak meta_value LONGTEXT olduğundan, bu dizinin uzunluğunu makul bir şeyle sınırlamanız gerekir, verilerinize bağlı olarak 20-30 gibi bir şey. Bu dizinin gerçek verilerinizden çok, çok daha büyük olabileceğini ve gereken depolama alanını önemli ölçüde artıracağını unutmayın. Ancak, bu tür sorgularda çok daha hızlı olacaktır. Gerçek bir sorun haline gelirse nitelikli bir DBA'ya danışın.
Referans olarak, WordPress.org'da yaklaşık 11 milyon kullanıcımız var. Meta miktarı, kullanıcı başına değişir, muhtemelen en az 8 satır ve belki de en fazla 250 ish'dir. Kullanıcı tablosu 2,5 GB, kullanıcı tablosu 4 GB civarındadır. Çoğunlukla iyi çalışıyor gibi görünüyor, ama arada bir optimize etmek zorunda olduğumuz tuhaf bir sorgu buluyoruz.