Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 24.07.2007 Ostrzeżenie: (0%)
|
Witam,
mam male pytanie odnosnie tworzenia indexow.. czy indexy potwinno sie tworzyc tylko dla kolumn, ktore podajemy w "where" czy takze dla tych ktore podajemy przy "order by" lub "group by" ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%)
|
W sensie zwracanych rekordów. Kiedyś mówiło się, że indeks powinien mieć selektywność na poziomie 10% - dzisiaj jest to nie praktyczne, ponieważ kiedyś bazy danych rzędu 100 000 może były i duże (indeks zwracał np. 10 000 rekordów) - przy dzisiejszych rozmiarach baz danych, wyszukiwanie z indeksem powinno zwracać po prostu małą ilość rekordów. Masz np. tabele zamówienia - 200 000 rekordów. Masz także np. 4 sklepy, nie ma sensu zakładania indeksu na kolumnę "SKLEP" - zapytanie wykorzystujące indeks założony na tą kolumnę i tak będzie miało do przerobienia duuużo rekordów - nawet po odrzuceniu niepasujących, natomiast gdy masz indeks na kolumnę "KLIENT" i masz 400 klientów, wtedy zapytanie z indeksem na "KLIENT" zwróci stosunkowo małą liczbę rekordów (np. 500).
Mam nadzieję, że nie wytłumaczyłem tego pokrętnie. Tomek |
|
|
|
adamx index - male pytanie 3.09.2007, 14:20:16
Zbłąkany Przy "ORDER BY" i "GROUP BY" g... 3.09.2007, 14:39:57
TomASS Ja bym nie dawał indeksów wtedy kiedy zbiór objęty... 5.09.2007, 08:40:17
adamx TomASS, duzy w sensie zwracanych rekordow, czy rek... 6.09.2007, 09:34:20 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 16:56 |