Witam,
Projektuję stronę i mam problem z założeniami - proszę o pomoc.
Czy moje rozwiązanie będzie wydajne?
W bazie przechowuję idiki (w formie: 123,345,2324325,453432,324234 itd.) jako wartość MEDIUMTEXT docelowo może być ich nawet 50 000.
Na stronie robię zapytanie sql: select kolumna from tabela where id IN(moje 50 000 idików).
Co jakiś czas wartość z idikami jest zmieniana - dodawane nowe idiki lub kasowane.
Nie potrafię przeprowadzić testu czy to rozwiązanie jest optymalne a obawiam się, że stronę będę musiał szybko zamknać bo serwer nie wytrzyma obciążenia przy takich zapytaniach i przy działaniach na takiej ilości idików tzn pobranie do tablicy->rozdzielenie po przecinku->dodanie idików->skasowanie duplikatów->ponowne połączenie z przecinkami->zapisanie do bazy.
Nie mogę podać swojego zastosowania ale podam przykład:
serwis społecznosciowy, w którym wyświetlamy znajomych i ich znajomych. Aby za każdym razem nie pobierać wszystkich znajomych i ich wszystkich znajomych można zapisać wszystkie idiki znajomych znajomych do tabeli i robić zapytania WHERE id IN(idiki znajomych znajomych).
Znajomych jest 200 czyli dla jednego usera może być nawet 40 000 znajomych znajomych.
Może jest na to lepsze rozwiązanie?