28th March 2014, 00:57
#5
1 out of 1 members found this post helpful.
Iti merge greu pentru ca queryul ala al tau nu are nici o sansa sa mearga fara sa treaca prin toata baza de date.
In primul rand trebuie sa faci o tabela de cuvinte apoi un reverse index.
Adica:
Cod:
+++++++++++++++
+ ID + Cuvant +
+++++++++++++++
+ 1 + TAPSI +
+ 2 + CEL +
+ 3 + MAI +
+ 4 + MIC +
+ 5 + URECHEAT +
....
si
+++++++++++++++++++++++++++++++
+ id + cuvant_id + film_id + camp_ID+
++++++++++++++++++++++++++++++
+ 1 + 1 + 26 + 2 +
+ 2 + 2 + 26 + 2 +
+ 3 + 1 + 26 + 3 +
+ 4 + 2 + 26 + 3 +
......
unde camp_id e campul unde se gaseste cuvantul in inregistrarea din film
Apoi cautarea o faci pe cuvintele din reverse index (cautare exacta, fara LIKE) care te duce direct la id-ul de film si campul din care face parte.
Fara reverse index, la ce vrei tu sa faci acolo, orice optimizare ai face tot o sa faca full table scan.