Hola a todos. Tengo un problema al intentar programar la Búsqueda Avanzada de mi web.
Tengo las siguientes tablas en mi BBDD (que, según entiendo, es la correcta conforme a las Formas de Normalización):
items, que contiene los objetos a buscar (80.000 registros).
atributo_1, que contiene el listado de los posibles valores del atributo 1 (1.000 registros)
interrelacion_1, relaciona el ID del ítem con los valores que tiene para el atributo 1, que pueden ser 0, 1, 2, etc (3.000 registros)
atributo_2, que contiene el listado de los posibles valores del atributo 2 (10.000 registros)
interrelacion_2, relaciona el ID del ítem con los valores que tiene para el atributo 2, que pueden ser 0, 1, 2, etc (30.000 registros)
...
atributo_7, que contiene el listado de los posibles valores del atributo 7 (5.000 registros)
interrelacion_7, relaciona el ID del ítem con los valores que tiene para el atributo 7, que pueden ser 0, 1, 2, etc (9.000 registros)
La query que uso para realizar la búsqueda es la siguiente.
El problema es que
cuando lanzo la query se me cuelga el ordenador.
Código MySQL:
Ver originalFROM items
, atributo_1
, interrelacion_1
, atributo_2
, interrelacion _2
, ...
, atributo_7
, interrelacion _7
WHERE items.item_id
= interrelacion_1.item_id
AND interrelacion_1.type_id
= atributo_1.type_id
AND items.item_id
= interrelacion _2.item_id
AND interrelacion _2.genre_id
= atributo_2.genre_id
...
AND items.item_id
= interrelacion _7.item_id
AND interrelacion _7.genre_id
= atributo_7.siete_id
AND atributo_1.type_id
!= -1 AND atributo_2.genre_id
!= -1 ...
AND atributo_7.siete_id
!= -1 AND items.issue_year
>= 1900 AND items.issue_year
<= 3000
Gracias de antemano por vuestra ayuda.