Używam MySQL jako bazy danych dla aplikacji Laravel. Rozważmy strukturę tabeli z following-Rozdzielanie rur a oddzielne rzędy
id brand_id numbers
Zważywszy na przeciw każdego brand_id istnieje około 5k numery. Jestem pewien, pomiędzy następującymi metodami
- przechowywać wszystkie numery 5k w pojedynczej rurze rekordu oddzielone
- przechowywania każdego z 5k liczb jako oddzielny rekord
nieświadomi tego, które podejście będzie skutkowało lepsza wydajność
Polecam szybką lekturę rozdziału 2 doskonałej książki Billa Karwina [SQL Antipatterns] (http://www.amazon.com/SQL-Antipatterns-Programming-Pragmatic-Programmers/dp/1934356557). (Możesz przeczytać rozdział 2 w podglądzie Amazon "Look Inside"). Konkluzja: przechowywanie rozdzielonej listy wartości w pojedynczej kolumnie jest złym pomysłem. Dopóki tworzone są odpowiednie indeksy, przechowywanie poszczególnych wartości w osobnych wierszach nie jest problemem z wydajnością. – spencer7593
To było pomocne! –
Jeden dodatkowy punkt. Jeśli kiedykolwiek przechowujesz ograniczoną listę w polu (prawie nigdy nie jest to dobry pomysł), użyj przecinka jako rozdzielanego. Podczas gdy wydajność będzie nadal niska (z powodu niemożności jej użytecznego indeksowania) możesz przynajmniej użyć funkcji FIND_IN_SET() – Kickstart