Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Indeksy w dla tabeli z trzema kolumnami?
starterrrrr
post 1.09.2017, 15:24:27
Post #1





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

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


Witam.

Zastanawiam isę nad pewną sprawą, jak ustalić indeksy dla tabeli z trzema kolumnami.

Chodzi o tabele konfiga, ale z dodatkowym polem dla numeru serwisu.


Więc mam tak:

TABELA CONFIG_MULTI:

1. CMS_ID
2. PARAM
3. WARTOŚĆ.

Więc tak, większośc zapytań wygląda ta, że wybieram koumne WARTOŚĆ dla CMS_ID=XXX i PARAM='poszukiwany param'.

Próbowałem zaznaczyć CMS_ID i PARAM jako podstawowe, albo jednoznaczne, ale zwraca mi komunikat:

Cytat
#1071 - Specified key was too long; max key length is 1000 bytes


Mimo, że tabela jest jeszcze pusta.

Ostatecznie ustawiłem zwykłe indeksy na kolumna CMS_ID i drugi index na PARAMETR.

Czy dobrze to robie?

P.S. Czy pola, które potrzebuje wybrać też warto dawać do indexu? Czytylko to po czym szukam w parametrze WHERE?
Go to the top of the page
+Quote Post
nospor
post 1.09.2017, 15:41:46
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




A czy przypadkiem dla pola PARAM nie ustawiles typu jako TEXT?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 1.09.2017, 16:56:20
Post #3





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

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


No i oczywiście CMS_ID i PARAM powinny być ustawione jako primary żeby nie duplikować indeksów.
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: 28.03.2024 - 16:23