Serwer Abuse, zbyt grube zapytanie |
Serwer Abuse, zbyt grube zapytanie |
20.11.2013, 11:06:57
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 31.10.2011 Ostrzeżenie: (0%) |
Witam, właściciel portalu nad którym pracowałem jakiś czas temu przeniósł go sobie na tańszy serwer (ovh). Problem pojawił się przy bazie danych. Po kilku tygodniach użytkowania właściciel dostał maila z informacją, że ze względu na to, że nastąpiły nadużycia baza danych została przeniesiona na słabszy serwer (nie muszę mówić, że teraz 3/4 portalu już działa jak chce). Jako logi nadużyć dostałem zapytania ze szkieletem:
SELECT (...) FROM `FOTOGRAFIA_ext` INNER JOIN aclable_ext ON (...) WHERE (...); aclable_ext przechowuje uprawnienia, FOTOGRAFIA_ext - zdjecia. Problemem pewnie jest ilość wpisów (grubo ponad 200tysięcy już). Czy macie jakiś pomysł na optymalizację tych zapytań? Spotkaliście się wcześniej już z podobnym problemem? |
|
|
20.11.2013, 11:11:13
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) |
200 tysięcy to nie jest dużo
Masz pozakładane indeksy na pola po których robisz złączenie i po których filtrujesz? -------------------- |
|
|
20.11.2013, 18:49:21
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 31.10.2011 Ostrzeżenie: (0%) |
ok, dzięki za pomoc.Obie tabele to widoki, stąd cały problem X_x. Wiem już co zrobić. Dzięki bardzo!
Wybaczcie, że wprowadziłem w błąd. Jednak nadal nie wiem jak się z tym uporać. Mimo, że używam widoków to na każdej z używanych przeze mnie do filtrów / złączania kolumn są pozakładane indeksy :/. Jak dokładnie działają widoki? Ze źródeł które czytałem wynika, że jeśli tworzymy kolumnę `widok`.`z` na podstawie `tabela`.`coś` to zachowujemy indeksy z `tabela`? Jeśli to nie to sprawa jest grubsza. Bo jak to obejść? Zrezygnować z używania widoków i zastąpić je czymś innym (osobna tabela + triggery ? ). |
|
|
Wersja Lo-Fi | Aktualny czas: 30.03.2024 - 06:02 |