Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: REGEXP a wydajność
Forum PHP.pl > Forum > Bazy danych
wlamywacz
Cześć 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 ?
SongoQ
A nie mozesz przeniesc tego do warunku?? Wtedy regexp bedzie zbedne.
wlamywacz
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
nospor
moze napisz od początku co chcesz zrobic i dlaczego a pomozemy ci to napisac prosciej (jak sie da oczywiscie)
wlamywacz
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
SongoQ
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.
wlamywacz
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.
SongoQ
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.