Pozdrav svima,
ovako, ovo je dizajn forme i tabele:

Tabela sa proizvodima ima oko 1.3M redova.
Website je dropdwon, imace 7 - 8 sajta (URL, amazon.com, amazon.co.uk....)
First Found i Last Scrapped su datumi, klik na njih otvara range, dakle datum "od" i "do" i tako za oba datuma
Da li sacuvati kao integer (unixtimestamp) ili date field type?
Price, je takodje range, kada se klikne ispod se pokazu 2 input field-a, "od" i "do", moguce vrednosti su decimal od 0.1 do 100k
Wishlist (integer od 1 do 100k), Review Score (decimal od 1, 1.1, 1.2 do 4.8, 4.9, 5)
Filter za ove 3 kolone idu po range-u, isto kao za Price
Category izbor kategorije (iscupam jedinstvene vrednosti iz tabele)
Gubim se oko ovih filtera, kako ovo uraditi najbolje, ne mogu na sve kolone da stavim index, a ako koristim multiple columns?
Ako uradim ovako:
buni me, jer u formi moze da selektuje website ali ne i date scrapped na primer, na filter moze da sadrzi jednu kolonu, sve kolone ili samo neke tri na primer.
Opet imam range, pa bi neki query izgleda ovako ako je user izabrao website, napravio range za price i izabrao samo review score "from" field:
Kako bi ste resili ovo a da radi brzo?
ovako, ovo je dizajn forme i tabele:

Tabela sa proizvodima ima oko 1.3M redova.
Website je dropdwon, imace 7 - 8 sajta (URL, amazon.com, amazon.co.uk....)
First Found i Last Scrapped su datumi, klik na njih otvara range, dakle datum "od" i "do" i tako za oba datuma
Da li sacuvati kao integer (unixtimestamp) ili date field type?
Price, je takodje range, kada se klikne ispod se pokazu 2 input field-a, "od" i "do", moguce vrednosti su decimal od 0.1 do 100k
Wishlist (integer od 1 do 100k), Review Score (decimal od 1, 1.1, 1.2 do 4.8, 4.9, 5)
Filter za ove 3 kolone idu po range-u, isto kao za Price
Category izbor kategorije (iscupam jedinstvene vrednosti iz tabele)
Gubim se oko ovih filtera, kako ovo uraditi najbolje, ne mogu na sve kolone da stavim index, a ako koristim multiple columns?
Ako uradim ovako:
Code:
ALTER TABLE `pages` ADD INDEX `numberOne` (`website`, `date_found`, `date_scrapped`, `price`, `wishlist`);
ALTER TABLE `pages` ADD INDEX `numberOne` (`website`, `date_found`, `date_scrapped`, `price`, `wishlist`);
buni me, jer u formi moze da selektuje website ali ne i date scrapped na primer, na filter moze da sadrzi jednu kolonu, sve kolone ili samo neke tri na primer.
Opet imam range, pa bi neki query izgleda ovako ako je user izabrao website, napravio range za price i izabrao samo review score "from" field:
Code:
SELECT * FROM `products` WHERE `website` = 'amazon.co.uk' AND `price` > 10 AND `price` < 20 AND `review_score` > 4.5
SELECT * FROM `products` WHERE `website` = 'amazon.co.uk' AND `price` > 10 AND `price` < 20 AND `review_score` > 4.5
Kako bi ste resili ovo a da radi brzo?