Mam w sklepie 2 tabele customer i order. W tabeli customer są kodowane dane klientów, a w order zamówienia sklepu.
Chciałbym teraz zrobić wyszukiwanie zamówień po danych klienta. Ponieważ dane klienta są kodowane wykukanie np klienta po Loginie wymaga takiego zapytania:
$loginLower = str_replace("%", "\%", encode(strtolower($_SESSION['search']['login']), $CONF_USER_CODE)); $loginUper = str_replace("%", "\%", encode(strtoupper($_SESSION['search']['login']), $CONF_USER_CODE)); $loginFirst = str_replace("%", "\%", encode(ucwords(strtolower($_SESSION['search']['login'])), $CONF_USER_CODE)); $mysql->recordAll("SELECT * FROM `".DB_PREFIX."customer` WHERE (`login` LIKE '".$login."%') OR (`login` LIKE '".$loginLower."%') OR (`login` LIKE '".$loginUper."%') OR (`login` LIKE '".$loginFirst."%') ORDER BY `login`;");
W tabeli order mam pole z id klienta.
I teraz pytanie:
Czy do szukania zamówień klienta w tabeli order lepiej dorobić nowe pola z danymi i stworzyć proste pytanie, czy lepiej zapytać poprzez relacje.
Zakładamy że w tabeli customer mamy 1000 klientów a w tabeli order mamy 2500 zamówień.
Chciałbym uniknąć blokowania serwera czy też zrywania połączenia.
POzdrawiam