![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) ![]() ![]() |
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?
|
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Ale 2 sekundy przy takiej ilosci rekordów to jest szybko..
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) ![]() ![]() |
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?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Stosują inne systemy baz danych np Oracle. i niekoniecznie wszystko musi się opierać na bazie danych (cache).
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) ![]() ![]() |
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? |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat A nie ma możliwości żeby w mysql szybciej się to odbywało?
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Gdzieś niedawno ktoś mi uświadomił na tym forum, że jednak jest inaczej. [;
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
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)) Ten post edytował flashdev 19.07.2009, 22:59:43 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 04:20 |