Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PK + indeksy na kolumnę czy na kilka kolumn, MySQL
Rozpalacz
post 3.02.2015, 09:51:17
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 31.01.2006

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


Mam tabelkę z 4 kolumnami głównymi po których przeszukuję tabelę
[INFO_1][INFO_2][INFO_3][INFO_4]

Klucz główny jest na dwie kolumny [INFO_1][INFO_2]. Czy muszę dodatkowo tworzyć indeks na [INFO_1] oraz [INFO_2] jeśli będę wyszukiwał tylko po jednej z nich? Czy opłaca się tworzyć indeksy na dwie kolumny czy lepiej indeksy na każdą kolumnę indywidualnie? Jaka jest różnica w wydajności indeksów na kilka kolumn a na jedną kolumnę. Czy jest sens zakładania indeksu na dwie kolumny [INFO_3][INFO_4] dla zapytań gdzie używam warunku where z obiema kolumnami i dodatkowo zakładania indeksu dla kolumny [INFO_3] i indeksu dla kolumny [INFO_4] jeśli będę miał zapytanie gdzie będę używał tylko jednej kolumny w warunku where?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Pyton_000
post 3.02.2015, 10:00:00
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Indeksy to dość rozległy temat.

Indeksy wielokolumnowe maja to do siebie że ich użycie definiuje jakie indeksy są użyte i tak np:
Indeksy na kolumne: col1,col2,col3,col4
Wyszukiwanie:
col1,col2 - zadziała indeks
col1,col2,col4 - nie zadziała indeks ze względu że opuściliśmy jedną kolumnę.

Ogólnie indeksy wielokolumnowe są trochę bardziej wydajne niż pojedyncze.

W Twoim przypadku zastanów się nad dwoma dwukolumnowymi czyli info_1,info_2 jako PK i info_3,info_4 jako indeks.
Ale to też tylko w przypadku szukania po 2 kolumnach, a jeżeli faktycznie info_3 i info_4 są rozdzielne w szukaniu czyli albo albo to możesz pojedyncze.

Weź też pod uwagę że indeksy obniżają wydajność podczas INSERT.
Go to the top of the page
+Quote Post
starterrrrr
post 21.04.2015, 11:38:13
Post #3





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 7.01.2015

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


Witam, podłacze siępod temat.

Czy macie gdzieś namiary na jakiś kurs/poradnik tworzenia indeksów w bazach danych?

Szukałem w google, ale nic ciekawego nie znalazłem niestety :/
Go to the top of the page
+Quote Post
Pyton_000
post 21.04.2015, 11:40:43
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Niektórym przydałby się kurs szukania w Google...
http://blog.mwojcik.pl/2009/07/06/mysql-in...-i-klucze-obce/
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 19:09