Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2011, 06:34
Krohn
 
Fecha de Ingreso: marzo-2011
Mensajes: 4
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Uso de indices

Buenas!

tengo una duda respecto a como usar indices en mi base de datos, y me gustaria escuchar opiniones y consejos de gente que sepa sobre el tema. Os comento.

Tengo las siguientes tablas:

Tabla: Peticion

Columnas:

* Id

* Tipo_peticion_id

* Nombre_usuario

* Ciudad_usuario

* Fecha_peticion

Tabla: Contenido

* Id

* Peticion_id

* Sub_id1

* Sub_id2

* Texto

Pongo un ejemplo de como se verian los datos:

Código:
---Peticion---

--id--  --tipo peticion id-- --nombre usuario-- --ciudad usuario-- --fecha peticion--
  12          100                Javier               Sevilla          18-12-2010
  13          100                Marcos               Madrid           27-01-2011

---Contenido---

--id-- --peticion id-- --subid1-- --subid2--  --texto--
  40        12            1            1         blabla
  41        13            1            1          test
Bien, pues teniendo 8000 registros en cada tabla (uno para el usuario y la fecha de peticion, y el otro en la otra tabla para el contenido de esta), al hacer el siguiente query :

select peticion.id, contenido.texto from peticion, contenido where peticion.id=contenido.peticion_id and peticion.tipo_peticion_id=100 and contenido.subid1=1 and contenido.subid2=1 order by peticion.id desc

me tarda unos 40 segundos en darme el resultado. Se que son muchos registros, pero querria que me tardara algo menos si es posible, asi que me puse a investigar y encontre que mediante indices se puede reducir el tiempo de obtencion de los datos. A esto, ahi va mi pregunta. Donde seria mas correcto poner los indices? En los ids? En las columnas que se usan en las condiciones para obtener la query? (tipo peticion id, subid1, subid2)

Si alguien domina sobre el tema le estaria muy agradecido que diera su opinion al respecto : )

Gracias de antemano!