Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wielokrotne porównanie
axxxon
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 28.10.2010

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


Witam!
W obecnym zapytanie które tworze chciałbym jednocześnie porównać jedno pole z kilkunastoma stringami naraz, normalnie pole zawiera tekst, w tym polu znajdować się może któreś ze słów kluczowych, jednak jak to sprawdzić bez używania
  1. `pole` LIKE '%klucz1%' OR `pole` LIKE '%klucz2%'

tylko czegos w stylu
  1. `pole` funkcja('%klucz1%','%klucz2%',...)


próbowałem już do tego wykorzystać 'any', jednak póki co nie widzę efektów...

prosiłbym o szybka pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
pedro84
post
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


MySQL => IN()


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
axxxon
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 28.10.2010

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


funkcji in też próbowałem jednak nie było to rozwiązanie
w formie
  1. `pole` IN('%klucz1%','%klucz2%',...)

nie było wyszukiwania po całym tekście tj. całość przeszukiwanego pola tak jakby nie była sprawdzana
Go to the top of the page
+Quote Post
pmir13
post
Post #4





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


  1. SELECT * FROM tabela
  2. WHERE pole REGEXP ('klucz1|klucz2|klucz3')

Go to the top of the page
+Quote Post
axxxon
post
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 28.10.2010

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


nie wiem czemu ale u mnie ta funkcja działa znacznie wolniej i mniej wydajnie niż
  1. LIKE 'costam'
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Działa wolniej bo wymaga użycia całego mechanizmu wyrażeń regularnych zamiast prostego wyszukania podciągu w ciągu.

1. Rozważ zmianę struktury aplikacji i wywalenie słów kluczowych do innej tabeli oraz utworzenie relacji wiele-do-wielu - bazy danych typu MySQL są najlepiej przystosowane właśnie do przetwarzania danych w takiej formie.
2. Wyszukiwane pełnotekstowe?
3. W czym konkretnie przeszkadza Ci kilkukrotne wstawienie OR ... LIKE ...?
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: 22.08.2025 - 00:33