![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 459 Pomógł: 26 Dołączył: 1.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Od jakiegoś czasu mam problem z przeciążeniem serwera, spowodowanym nieoptymalnym połączeniem z bazą (tak twierdzi hostingodawca). Struktura tabeli z największą ilością danych (200tys rekordów) to:
Przykładowe zapytanie do bazy, które powoduje obciążenie to:
Czy ktoś mógłby mnie naprowadzić jak można to zoptymalizować? Proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No pasowałoby się przenieść na PDO (IMG:style_emoticons/default/smile.gif) Aczkolwiek to problemu nie rozwiąże.
W bazie masz dostęp jedynie do swojej bazy - możesz masz też dostęp do bazy "mysql" tam masz tabelę "slow_log", która ma info o tych "slow queries". Proponuje Ci na szybko, wziąć całą apkę, zrobić backup kodu, napisać w jakimś wszędzie dołączanym pliku funkcję:
Albo coś w tym stylu i nadpisałbym we wszystkich skryptach mysql_query => my_mysql_query. Jak dobrze przygotujesz tą funkcję, dostaniesz info jakie zapytanie ile Ci zabiera czasu i ile jest zapytań na request. EDIT: (IMG:style_emoticons/default/smile.gif) Przede wszystkim wrzuć to zapytanie samo do bazy i zobacz w ile się wykona (nadaj jakieś tam te pola które wrzucasz z PHP) - możesz też dodać zaraz po SELECT klauzulę SQL_NO_CACHE aby mieć pewność ,że czas jest poprawny
Ten post edytował Sephirus 6.02.2013, 17:47:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 23:31 |