Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ciężar tabeli MySQL a szybkość wykonywania zapytań
Forum PHP.pl > Forum > Bazy danych > MySQL
Larges
Witam,
jedna z moich tabel ma ok 600 MB ciężaru. Jest opcja podzielenia jej na dwie, gdyż część z kolumn nie stanowi podstawowego elementu do wyszukiwania.
Tabela ma ok 2,5 mln wpisów. Czy waga tabeli którą mogę zminimalizować dzieląc ją na dwie ma znaczący wpływ na szybkość wykonywania prostych zapytań?
erix
Waga IMHO nie ma aż takiego znaczenia, a jakość pozakładanych indeksów.

Nie dziel na dwie, bo wprowadzisz tylko niepotrzebny chaos. winksmiley.jpg Mogę się mylić, ale więcej czasu zajmie chyba połączenie wyników pochodzących z obu tabel aniżeli wyciągnięcie po istniejących indeksach.
Larges
Czyli radzisz większość stałych wartości (ciągi) zastąpić wartościami numerycznymi z odpowiednimi id i sortować wg numerów.
Kupa roboty ale już o tym myślałem i stale czytając wypowiedzi doświadczonych ludzi zdecyduję się (;
erix
Cytat
zastąpić wartościami numerycznymi z odpowiednimi id i sortować wg numerów.

Tak. Oczywiście, o ile to możliwe - indeksy numeryczne są szybsze wg moich informacji. Dobrze jest również ustawić stałą długość pól (np. char zamiast varchar).

A jeśli potrzebujesz ciągów string, to możesz jeszcze spróbować z np. CRC danego ciągu znaków. winksmiley.jpg Do sprawdzenia przy select nada się idealnie, a przyspieszy wyszukiwanie. winksmiley.jpg

Jeśli potrzebujesz czegoś do wyszukiwania z dużych ilości tekstów, to lepiej sięgnij po rozwiązania dedykowane, jak np. sphinx.
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.