![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 79 Dołączył: 16.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Spotkała mnie dziwna rzecz: ostrzeżenie o mysql slow queries, dotyczący tabelki, w której tego problemu bym się raczej nie spodziewał. Serwis ma parę tabel, w tym także parę takich z kilkunastoma tysiącami rekordów. W tych tabelach używałem między innymi typu varchar, przy czym dawałem index na te pola. Z tymi tabelami nie było problemów, problem był z inną, "variables", struktura wyglądała tak: id, name (varchar), str (varchar), number (int) Tabelka służyła do przechowywania różnych globalnych zmiennych, był np. rekord "global_hits" do przetrzymywania ogólnej liczby hits na całym serwisie, a problematyczna linijka wyglądała tak:
Jak widać robię " WHERE name='global_hits' " przy czym zapomniałem dać indeks na pole "name". I to by być może tłumaczyło problem ze slow queries, gdyby nie to, że w tej tabeli łącznie były... 2 (słownie dwa) rekordy, w tym właśnie jeden gdzie name = 'global_hits'. No i tu pytanie: czy właśnie ów brak indeksu na tym polu "name" mógł spowodować "slow queries", jeśli w tabelce były łącznie dwa rekordy? Nie mogę tego sprawdzić empirycznie, bo serwis został chwilowo wyłączony przez firmę hostingową, a pytam, bo być może ten problem jeszcze gdzieś tam w kodzie występuje. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.06.2025 - 15:04 |