![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam mam kłopot i nie mam pomysłu, chodzi o LIKE
mam w bazie ok 700 tagów np: łysienie łycienie plackowate łysienie analogiczne i teraz jezeli tak LIKE '%łysienie%' znajduje te 3 a ma tylko ten 1... i analogicznie z innymi |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 3 Dołączył: 25.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli zależy ci tak bardzo na szybkości bardziej wydajne będzie korzystanie z trzech tabel i instrukcji porównania = (znak równa się)
w celu wyszukania odpowiedniego tag'a Kod ... WHERE Tag = 'łysienie' ... Wykonując SELECT'a z instrukcją LIKE zmuszasz bazę danych do przeszukania wszystkich wierszy tabeli za każdym razem gdy wykonujesz takie zapytanie. Jednak, że różnicę czasową odczujesz dopiero przy tabelach z dużą ilością wierszy. Na danych atomowych możemy założyć indeksy które znacznie skrócą czas przeszukiwania tabeli w poszukiwaniu odpowiedniej wartości. Poza tym separując dane w jednej kolumnie znakiem | łamiesz zasadę atomowości danych dlatego projekt nie jest do końca właściwy I co najważniejsze wszystkie dane pobierasz w jednym dobrze skonstruowanym zapytaniu SQL, nie ma sensu tracić czasu na ponowne wysłanie żądania i czekaniu na jego odpowiedź. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 15:09 |