Witam,
Mam kilka pytań dotyczących optymalizacji MySQL dla dużych witryn www.
W jaki sposób można zoptymalizować wyszukiwanie pełnotekstowe (MATCH, AGAINST)?
Czy jeśli MySQL nie wyrabia z prostym zapytaniem (baza ok 20 tys wpisów, 5 pól text z indeksem pełnotekstowym) MATCH, AGAINST to pozostaje tylko wykorzystanie dodatków typu Sphinx Engine?
Są jakieś inne? Spotkał się ktoś z artykułem, który z nich jest najlepszy? W jakim stopniu np. Sphinx Engine odciąża bazę danych od tego typu zapytań?
W jaki sposób na dużych serwisach rozwiązywane są statystyki np. czytań artykułu?
Bo chyba nie tak, że z każdym wejściem update'owana jest tabela i robiony jest zapis z +1 ?
Jak zbierać informację o dacie logowania, ip użytkownika, gdy na serwis wchodzą setki użytkowników na godzinę?
Bo jeśli chodzi o COUNTY kto co i ile to wiem, że można puścić w nocy na procedurze i zapisać tylko wynik.
Jak bez ingerencji administratora serwera, zmiany ustawień mysql, można przyspieszyć zapytania ? Cachowanie PHP memcache, APC?
Jak w takim razie cachować zapytania MATCH, AGAINST?
Jeśli mamy wpisy w danej kategorii (powiedzmy ok 10 tys ze 100 tys wszystkich wpisów należy do kategorii A), to jak stosować paginację?
Bo LIMIT, OFFSET wg EXPLAIN na zapytanie SELECT i tak zwraca 10 tys, co jest chyba lekko za dużę...
Jak taka optymalizacja powinna być robiona na dużym serwisie (nie mówmy tutaj o rozdzieleniu ruchu na kilka serwerów, tylko skoncentrujmy się na możliwie najlepszej optymalizacji w obrębie jednego serwera)
Słyszałem również, iż nie powinno się używać ORDER BY RAND(), jak w inny sposób wyciągnąć 5 losowych wpisów z tabeli?
Prosiłbym o trochę odsyłaczy do literatury, własnych spostrzeżeń, opinii.
Przeszukałem manual i artykuły o mysql, pytałem wujka google, ale jakoś nikt nie porusza tematu dużych witryn www, a te mnie właśnie interesują.
Z góry dziękuję za pomoc.