Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Długie wyszukiwanie danych
Forum PHP.pl > Forum > Bazy danych > MySQL
Zwariowany
W bazie mam coś koło 3 mln wierszy. Normalnie na klucz podstawowy, po id znajduje bardzo szybko ok 0.1 sekundy. Ale gdy wyszukuje po imieniu (na wiesz ten jest zalozony normalny index) to trwa to koło 2 sekund. Co zrobić aby działo się to dużoo szybciej?
wookieb
Ale 2 sekundy przy takiej ilosci rekordów to jest szybko..
Zwariowany
No nie wiem czy tak szybko. Tylko zastanawia mnie jak np. taka nasza klasa czy fotka obsługują mimo że w bazie mają dobre 15 mln rekordów? Czy może lepszym rozwiązaniem np imienia byłoby trzymać imię w postaci liczbowej? czyli typu zamień a na 1, ą na 2 itd itd?
wookieb
Stosują inne systemy baz danych np Oracle. i niekoniecznie wszystko musi się opierać na bazie danych (cache).
Zwariowany
A nie ma możliwości żeby w mysql szybciej się to odbywało?

Może będzie szybciej jak każdej literce przypiszę numerek i zapiszę do bazy?
erix
Cytat
A nie ma możliwości żeby w mysql szybciej się to odbywało?
  1. Poczytaj o replikacji
  2. wymień procesor/dołóż ram do serwera
  3. Cytat
    Może będzie szybciej jak każdej literce przypiszę numerek i zapiszę do bazy?

    Ostatecznie, to tak - indeksy numeryczne są szybciej wyszukiwane
  4. wypróbuj PostgreSQL
wookieb
Cytat(erix @ 19.07.2009, 23:22:06 ) *
wypróbuj PostgreSQL

Postgres jest wolniejszy od mysql na maszynach < (bodajże 4) rdzeniowych
erix
Gdzieś niedawno ktoś mi uświadomił na tym forum, że jednak jest inaczej. [;
flashdev
Cytat(wookieb @ 19.07.2009, 01:08:40 ) *
Ale 2 sekundy przy takiej ilosci rekordów to jest szybko..


Jak możesz wyciągać takie wnioski, nie wiedząc nawet jak wygląda zapytanie do bazy?

Cytat
// ~2.7 mln rekordów:

SELECT *
FROM `slownik`
WHERE `slowo`
LIKE 'dupa'
LIMIT 0 , 30

Pokaż rekordy 0 - 0 (1 wszystkich, Wykonanie zapytania trwało 0.0761 sekund(y))


SELECT *
FROM `slownik`
WHERE `slowo`
REGEXP 'dupa'
LIMIT 0 , 30

Pokaż rekordy 0 - 29 (163 wszystkich, Wykonanie zapytania trwało 3.4426 sekund(y))
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.