Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] INDEX dla pola VARCHAR(100) z powtórzeniami, to, czy może coś innego?
czychacz
post
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 13
Dołączył: 20.09.2008
Skąd: Lublin

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


w bazie potrzebuję zrobić coś, by móc szybko wyszukać dane z pola VARCHAR(100). w różnych rekordach dane mogą się powtarzać. czy zastosowanie INDEX-u (INDEX(nazwa_pola)) będzie odpowiednim sposobem na rozwiązanie problemu? a może powinienem zrobić jeszcze coś?

Ten post edytował czychacz 8.12.2010, 11:36:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(phpion @ 9.12.2010, 10:33:55 ) *
Nie do końca masz rację.Działa jeśli ciąg nie zaczyna się od %, czyli:
  1. pole LIKE '%wartosc%'

nie zadziała, ale:
  1. pole LIKE 'wartosc%'

spowoduje użycie indeksu (oczywiście o ile będzie to korzystniejsze od skanowania).


Racja, ale oczywiście nie znajdzie to szerszego zastosowania w problemie kolegi.
Poza tym w takim przypadku o jakim mówisz, lepiej użyć indeksu prefixu (wyciąga parę pierwszych liter).
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.08.2025 - 01:43