Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Muchos Like

Estas en el tema de Muchos Like en el foro de Mysql en Foros del Web. Buenas a todos los foreros. Hoy vengo con una mega duda. Consiste en que tengo que hacer muchos likes a una consulta, casi 900 likes. ...
  #1 (permalink)  
Antiguo 14/05/2015, 13:01
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Muchos Like

Buenas a todos los foreros.

Hoy vengo con una mega duda. Consiste en que tengo que hacer muchos likes a una consulta, casi 900 likes.

Estoy manejando una cantidad de más de mil vehículos en una base de datos pero no todos me interesan pues de esos más de 1000 vehículos sólo necesito 900.

Entonces lo único que se me ocurre es hacer digamos 900 like.

La siguiente línea de código es la que pienso usar para dicho cometido:

Código:
SELECT * FROM vehículos tt
...


...
 tt.vehículo REGEXP '(111|222|333)'
Con el REGEXP en este caso sólo he agregado 3 vehículos pero tengo pensado agregar los 900 vehículos dentro de ese REGEXP

Entonces mi duda es si se puede hacer un script para meter los 900 vehículos y la consulta no sea tan monstruosa.

Gracias por adelantado
  #2 (permalink)  
Antiguo 14/05/2015, 13:14
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Muchos Like

Lo que dices hará de la consulta una simple basura. ...

Ni lo intentes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/05/2015, 13:16
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Muchos Like

Oh pues entonces qué puedo hacer
  #4 (permalink)  
Antiguo 14/05/2015, 13:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Muchos Like

Yo creí que se había entendido en tu hilo anterior el nivel de problemas que conlleva el tipo de consultas que planteas. Si quieres hacer cosas más optimizadas tendrás que modificar la lógica de tu diseño, y evitar métodos demasiado abiertos.
De es restringir más al usuario y conducirlo el las opciones de búsqueda, tal que puedas hacer consultas mejores.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 14/05/2015, 13:43
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Muchos Like

Bueno es que se supone que un cliente tiene digamos 200 vehículos.

Pero de esos 200 vehículos sólo 100 son de la empresa y los otros 100 son los que la empresa rentó de otras empresa, en ese caso esas últimas 100 no nos importan.

Por lo tanto debo de tener las 900 cajas que me interesan y que el programa encuentre esas 100 que son de la empresa.

Desgraciadamente la tabla en la base de datos que tiene algunos de los vehículos de la empresa está desactualizada y los vehículos que están ahí no son todos los que están actualmente.

Y pues la verdad no sé qué hacer :(
  #6 (permalink)  
Antiguo 14/05/2015, 14:53
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Muchos Like

A todo esto...tanto por problema por 900 registros? Casi te sale más a cuenta traertelos al servidor y tratarlos mediante PHP, Java, .NET, ....
__________________
Aviso: No se resuelven dudas por MP!
  #7 (permalink)  
Antiguo 14/05/2015, 15:02
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Muchos Like

No son 900 registros son más de 900 vehículos los que me interesan dispersados en más de medio millón de registros.

Pero desgraciadamente hay más vehículos dentro de la tabla que no me interesan, entonces no sé qué hacer para que sólo me muestre esos 900 vehículos.
  #8 (permalink)  
Antiguo 14/05/2015, 15:30
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Muchos Like

esos 900 que te interesan a lo que entiendo son de una compañia/empresa en especifico, entonces no puedes filtrar por ese campo???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 14/05/2015, 16:19
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Muchos Like

Hola Libras.

En efecto quiero filtrar esos 900 vehiculos como por ejemplo tengo 1200 vehículos con los números:

95231
654213
54545
321321
57853
14253
...etc

De esos vehículos me interesan solamente 900
321321
57853
14253
... y los otros 897

pero como lo hago sin poner tantos "like" en la consulta MySQL?
  #10 (permalink)  
Antiguo 14/05/2015, 17:48
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: Muchos Like

Lo que @libras te propone es que tengas algo asi:

Vehiculos
codigo | empresa
95231 | 1
654213 | 1
54545 | 1
321321 | 1
57853 | 2
14253 | 1
321321 | 2
14253 | 2
...etc

Y en la consulta pongas:
Código MySQL:
Ver original
  1. ... WHERE empresa = 2

en lugar de poner:
Código MySQL:
Ver original
  1. ... WHERE codigo IN(57853, 321321, 14253)
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #11 (permalink)  
Antiguo 14/05/2015, 17:51
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Muchos Like

Puedes modificar la base de datos?
Porque podrías añadir a la tabla de vehículos un campo q discrimine si el vehículo es de la empresa o no.
Lo otro es crear nueva tabla q contenga el número de cada vehículo q te interesa, este campo sería llave primaria y foránea y después simplemente haces un JOIN.
  #12 (permalink)  
Antiguo 15/05/2015, 08:40
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Muchos Like

No puedo modificar la base de datos o más bien no puedo modificar las tablas que ya existen.

Y en efecto como dice Nup_ es lo que tenía en mente, pues me van a dar una lista con los vehículos que nos importan y se me había ocurrido hacer una tabla y hacer un inner join.

Pero tengo que ver si me dejan hacer eso en la base de datos pues sería la opción mas cuerda.

Sino dudo que de otra forma.

Etiquetas: condición, mysql+consulta, regexp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.