Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Indeksy na kolumny typu enum/tinyint
wujek2009
post
Post #1





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

Ostrzeżenie: (0%)
-----


Czy zakładacie indeksy z kolumny typu enum, gdzie wartości to (yes|no) bądź na kolumny typu tinyint gdzie wartości to (0 bądź 1)?
Oczywiście takie kolumny będą często wykorzystywane w klauzi np. WHERE - ale kiedyś obiło mi się o uszy, że jeśli wartość kolumny jest zazwyczaj taka sama to nie ma sensu zakładania indeksu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Niktoś
post
Post #2





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Ma to znaczenie dla szybkości wykonywani się kwerendy.Założenie indeksu na takie pole w niektórych przypadkach zapytanie może wykonywać się szybciej, w niektórych wolniej.Tutaj masz przeprowadzone testy:
http://www.mysqlperformanceblog.com/2007/0...n-where-column/
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Z enum są wątpliwości. Podetknięto mi kilka lat temu jakiś artykuł mówiący, że ten typ ma niejako automatycznie nakładany w MySQL indeks, więc ręczne go przydzielanie nie ma sensu. Z tego co później testowałem różne kwerendy, wynika że ma to potwierdzenie w rzeczywistości. Nałożenie indeksu na enum nie zmienia czasu wykonania.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 00:08