Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2003, 12:26
zeus_bsas
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 21 años, 10 meses
Puntos: 0
Ayuda con tabla y busquedas

Bueno, ahora les voy a consultar como harian algo que en mi sitio ya esta funcionando, pero que ahora que estoy rediseñando y optimizando todo lo que pueda, quiero hacerlo mas eficiente.

Les resumo: en mi sitio se puede conocer gente. Las personas configuran lo que estan buscando de entre 4 opciones: Amistad, Relacion Estable, Sin Compromisos y Otro Tipo De Relacion.

El problema se me presenta a la hora de realizar busquedas. Tengan en cuenta que un usuario puede configurar todas las relaciones que quiera, por ejemplo Amistad y Sin Compromisos.

A la hora de buscar, los miembros seleccionan, entre otras cosas, la relacion que desean, por lo que se devolveran resultados que coincidan con por ejemplo Amistad y Sin Compromisos. Aclaro que la gente puede buscar por una de las relaciones o por todas ("Opcion Cualquiera").

Hasta ahora en mi tabla vengo guardando en un campo llamado relacion, datos como "Amistad, Relacion Estable", o "Amistad, Sin Compromisos", etc.

A la hora de buscar, como dentro de este campo puede haber varias relaciones separadas por comas, no me queda mas remedio que hacer

SELECT .... WHERE relacion LIKE '%Amistad%' OR relacion LIKE '%Sin Compromisos%'...

en el caso de que se busquen personas que a su vez quieran estas dos relaciones.

Yo quisiewra dejar de usar este LIKE porque estoy conciente de que demora mucho más que otras consultas, ya que mido los tiempos.
Y aca viene el problema, no se me ocurre que hacer.
Una solucion pienso que seria agregar tantos campos como relaciones, y de esta manera reemplazar el LIKE por un = , pero que pasa si en un futuro qiuero agregar relaciones, o cambiarle el nombre a alguna, por ejemplo Sin Compromisos llamarla Relaciones Esporadicas?

Yo quisiera usar una tabla aparte que contenga las relaciones como registros y con un id cada uno, y usar esos ids para relacionarlos con los miembros de alguna forma, pero caeria otra vez en lo de las comas, o sea, en vez de por ejemplo "Amistad, Relacion Estable" seria "1;2", y en definitiva es lo mismo.

Bueno, ese es el problema, me gustaria que me ayuden o comente que solucion implementarian.

Desde ya se los agradezco mucho.