Rozmiar tabeli nie jest tak naprawdę problemem, mogą to być zapytania uruchamiane na tej tabeli.
Na przykład, jeśli wybierasz użytkowników na podstawie danych przechowywanych w tabeli meta użytkowników, to zapytanie będzie wysoce niezoptymalizowane, ponieważ wartość meta nie jest polem indeksowanym. W takim przypadku może być konieczne dodanie dodatkowych indeksów lub rozważenie przechowywania tych konkretnych danych w inny sposób, na przykład z niestandardową taksonomią.
Ogólnie rzecz biorąc, rzeczy, które przechowujesz jako meta, nigdy nie powinny być czymś, na podstawie czego będziesz szukać wyłącznie. Dotyczy to wszystkich meta tabel w WordPress. Meta jest zaprojektowana głównie do wyciągania przez meta_key, a nie przez meta_value. Taksonomie ograniczają możliwe wartości do zestawu i inaczej organizują informacje, więc działają lepiej, gdy „wartość” liczy się jako wybrana.
Zauważ, że wybranie zarówno meta_key, jak i meta_value jest na ogół w porządku, ponieważ mySQL zoptymalizuje najpierw zapytanie w oparciu o meta_key, zmniejszając ilość danych do wyszukiwania do (miejmy nadzieję) możliwego do zarządzania limitu. Jeśli nawet stanie się to problemem, możesz go „naprawić”, dodając nowy indeks do meta-tabeli z zarówno meta_key, jak i meta_value w indeksie, jednak ponieważ wartość meta_value to LONGTEXT, musisz ograniczyć długość tego indeksu do czegoś rozsądnego, jak 20-30 czy coś, w zależności od twoich danych. Pamiętaj, że ten indeks może być znacznie, znacznie większy niż rzeczywiste dane i drastycznie zwiększy potrzebne miejsce do przechowywania. Będzie to jednak znacznie szybsze przy tego rodzaju zapytaniach. Skonsultuj się z wykwalifikowanym DBA, jeśli kiedykolwiek stanie się to poważnym problemem.
Dla porównania, na WordPress.org mamy zarejestrowanych około 11 milionów użytkowników. Ilość meta różni się w zależności od użytkownika, prawdopodobnie z minimum 8 wierszami na, a może maksymalnie z około 250-miesięcznym. Tabela użytkowników wynosi około 2,5 GB, a tabela usermeta około 4 GB. Wygląda na to, że działa dobrze, ale co jakiś czas znajdujemy jakieś dziwne zapytanie, które musimy zoptymalizować.