Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prędkość bazy a typy pól
Forum PHP.pl > Forum > Bazy danych > MySQL
peku33
Witajcie!
Stworzyłem sobię tabelę, w której trzymam dane (chwilowo ok 1,5K rekordów).
Starałem się, aby baza działała jak najszybciej, wszystko ok... do czasu

Tabelka składa się z pól INT / BIGINT / TINYINT / VARCHAR(64 - 255) / ENUM(2 wartości) / DOUBLE / TIMESTAMP / i nieszczęsne pola LONGTEXT

Do bazy nie dodaję żadnych rekordów, jedynie je modyfikuję. Z początku baza działa jak należy, niestety z czasem zaczyna coraz bardziej zwalniać.
Po 2 dniach zapytanie trwa ponad 1 sekundę(!). Optymalizacja bazy znów przywraca jej pierwotną prędkość.

Dane wyszukuję głównie po polach INT / BIGINT itd. na główne pola wg. których sortuję / szukam są indexy (w tym primary).

Czy powodem takiego spowolnienia bazy może być fragmentacja danych ze względu na pole LONGTEXT? Czy pomoże jego zamiana na varchar?
Jak inaczej mogę przyspieszyć bazę?
nospor
zrob EXPLAIN na zapytaniu które ci muli a może sie rozjasni male co nie co
peku33
Kod
id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra
1     SIMPLE     s     ref     typ,fails_to_del,state     state     1     const     1212     Using where; Using temporary; Using filesort
1     SIMPLE     t     ALL     PRIMARY     NULL     NULL     NULL     2     Using where


Coś takiego
nospor
No i pokaż jeszcze to zapytanie
peku33
EXPLAIN SELECT * FROM ` v_lista_wyswietlane`; //Zwykle jest limit x, x+30

struktura widoku v_lista_wyswietlane:

CREATE VIEW v_lista_wyswietlane AS
SELECT rank, nazwa_pelna, hostname, ip, onlineplayers, maxplayers, map, platform, secure, os, typ, country FROM serwery AS s JOIN typy as t ON s.typ = t.id WHERE s.state='online' AND fails_to_del > 0 ORDER BY rank ASC

w tabeli serwery index na: ip, typ, flags, fails_to_del, rank, hostname, map, state owner, z czego na IP jest PRIMARY
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.