![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 136 Pomógł: 0 Dołączył: 22.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
witam,
MySql Query Browser podczas:
pokazuje że: possible_keys - stan,kategoria,typ_oferty,rocznik key - stan czas wyszukiwania około 2,5 s czasami szuka po indeksie rocznik i wtedy wyszukiwanie trwa 0,02 s Dlaczego zawsze nie wyszukuje po roczniku ? tabela:
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
co masz na myśli CZASAMI
![]() ![]() ![]() pokaż je (warianty zapytań) - wtedy coś można wnioskować... a przy okazji - pola: o_1 - o_15, w_1 - w_42, foto_a - foto_i bez względu na przeznaczenie są złym pomysłem i powinny wylądować w oddzielnych tabelach -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
o_1 - o_15, - tylko 0 lub 1 - np jeśli ma ABS to 1, czyli lepiej w osobnej tabeli
w_1 - w_42, - taki jak pierwszy tylko inne opcje foto_a - foto_i - nazwa pliku fotek jeśli zapytanie jest takie
to używa indeksu rocznik jak to zrobić żeby używał odpowiednich indeksów ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jak to stwierdzasz, że czasem wyszukuje po indexie a czasem nie
![]() gino |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
explain mi pokazuje
possible_keys - stan,kategoria,typ_oferty,rocznik -- po jakich może key - stan - po jakich szuka |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok, spotkałem kiedyś osąd, że MySQL nie zawsze wybiera najlepszą możliwość w danym zapytaniu w kwestii użycia indexów. Taki urok bazy.
gino edit: posible_keys i key pozwala nam dowiedzieć się z jakich innych indeksów możemy próbować korzystać a jak zrobi MySQL to już inna sprawa, j.w. Ten post edytował gino 26.02.2008, 18:32:31 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
jeżeli masz dużo zapytań z użyciem kilku pól ( u ciebie: rocznik, typ_oferty, kategoria, stan) a nie potrzebujesz super wydajności przy INSERT i UPDATE to rozważyłbym założenie dodatkowego indeksu wielopolowego (na te wszystkie pola po których szukasz) - to powinno ożywić twoje SELECT...
-------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 25.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czy mogę zrobić indeks wielopolowy zawierający np 15 pozycji, bo po tych pozycja będzie wyszukiwanie, czasami po dwóch a czasami po 3,4,5,6,7,8 itd.
użytkownik będzie miał formularz na stronie i on wybiera to co potrzebuje, więc ja to objąć w sensowną całość ? jeśli zawsze w wyszukiwani były by 4 pola to ok, ale to się zmienia np: marka,model,typ id_dane,stan, rocznik,cena,region,przebieg, data_aktywacji, kategoria, typ_oferty, osobowe_marka.id, rocznik, rocznik czy to nie pogorszy wyszukiwania ? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
na pewno powiększy mocno bazę, na pewno spowolni insert i update - a czy przyspieszy select ? spróbuj - załóż indeks, przetestuj wydajność - my nie mamy tej bazy ani tego formularza - jak mamy ci to sprawdzić...
![]() wg mnie problem może być głębszy - niewydajna struktura bazy przy dużej ilości danych i skomplikowanych zapytaniach... wtedy żadne indeksy nie pomogą jeżeli nie zmienisz schematu bazy... Ten post edytował nevt 28.02.2008, 21:06:26 -------------------- - Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... - |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 03:17 |