Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> REGEXP a wydajność
wlamywacz
post
Post #1





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Cześć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

W mojej aplikacji wykorzystuje GROUP_CONCAT w rezultacie otrzymuję kolumnę z danymi typu: user1, user2, user3. Filtruję to za pomocą
  1. HAVING `users` REGEXP 'user2'

Czy nie obciąży to zbytnio mysql lub czy można to wykonać lepiej ?

Ten post edytował wlamywacz 12.08.2008, 17:32:36
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


A nie mozesz przeniesc tego do warunku?? Wtedy regexp bedzie zbedne.
Go to the top of the page
+Quote Post
wlamywacz
post
Post #3





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Nie mogę dać w warunku bo pobieram GROUP_CONCAT wszystkich userow którzy sa przypisani do danego rekordu i po group muszę sprawdzić czy dany user tam występuje
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




moze napisz od początku co chcesz zrobic i dlaczego a pomozemy ci to napisac prosciej (jak sie da oczywiscie)
Go to the top of the page
+Quote Post
wlamywacz
post
Post #5





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Pobieram z mysql userow którzy nalezą do danego zlecenia. Zapytaniem GROUP_CONCAT łącze wszystkich userow do jednego pola i wygląda to mniej więcej tak:

users | idzlecenia | inne
marian, wladek,waldek 1
juzek, zbychu, waldek 2

No i chce sprawdzić czy w tej tabeli users występuje dana osoba. Nie mogę użyć warunku gdyż wybierze mi zlecenia w których występuje dana osoba jednak pominie inne osoby i dostane taki wynik:

users | idzlecenia | inne
waldek 1
waldek 2
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Dziwna masz ta strukture, gdyz takie rzeczy sie na relacjach robi. Prosty przyklad tabela zlecenia, tabela user i tabela laczaca usera ze zleceniem. Warunek jest prosty laczysz te 3 tabele i dajesz kryterium na usera dostajesz zlecenia przypisane wlasnie do tego usera. Jesli o takie cos Ci chodzilo to przerob strukture na taka postac jak Ci napisalem.
Go to the top of the page
+Quote Post
wlamywacz
post
Post #7





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


SongoQ właśnie dostaje coś takiego i mam taka strukturę bazy! Jednak tutaj kilka osób może mieć jedno zlecenie, wybieram te osoby i muszę sprawdzić czy w tych osoba jest dany user.
Go to the top of the page
+Quote Post
SongoQ
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Jesli chcesz tylko sprawdzic czy Twoj user jest w liscie tych osob to daj warunek na tego usera. Jesli chcesz zwrocic wszystkie rekordy gdzie sa przypisani userzy to latwiej to w php wyciagnacajac i wypisujac wszstkich userow sprawdzic warunkiem czy nie ma tam twojego.
Go to the top of the page
+Quote Post

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: 22.08.2025 - 14:47