Visual Basic - Busquedas Avanzadas con SQL Server

Life is soft - evento anual de software empresarial
 
Vista:

Busquedas Avanzadas con SQL Server

Publicado por Byron (6 intervenciones) el 11/03/2006 01:57:44
Hola a todos.

Amigos les tengo una inquietud, para quien pueda ayudarme a solucionar el siguiente problema.

Tengo una aplicación en visual basic, que consulta una base de Datos hecha en SQL Server, esta base de datos posee una tabla que contiene 1500000 registros. El diseño de esta tabla tiene un Ide que es la llave primaria y un nombre de un articulo.

Cuando realizo busquedas abiertas, es decir, que me encuentre todas las coincidencias en el campo del nombre se tarda mucho tiempo en devolverme la consulta.

por ejemplo:

SELECT * FROM TABLA
WHERE NombreArticulo LIKE '%LAPIZ%'

y el problema no termina alli ya que esta tabla puede llegar a contener aproximadamente 5500000 de registros, entonces se va a tardar mucho mas tiempo a la hora de realizar una consulta de este tipo.

Por favor si alguien conoce la forma de realizar busquedas de forma mas rapida le agradeceria me colabore con esto.

Gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Busquedas Avanzadas con SQL Server

Publicado por Cecilia Colalongo (3117 intervenciones) el 11/03/2006 10:40:11
Crea índices en la tabla en SQL Server por los campos en los que realizas las búsquedas. Con eso aumentas considerablemente la velocidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busquedas Avanzadas con SQL Server

Publicado por Byron (6 intervenciones) el 12/03/2006 00:54:21
Hola Cecilia, gracias por tu aporte, pero te cuento que eso ya le he hecho y no ha funcionado ya que la busqueda por articulo se la hace utilizando LIKE y el indice no hace nada alli.

Me gustaria saber si exite otra forma de buscar minimizando el tiempo de respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busquedas Avanzadas con SQL Server

Publicado por Cecilia Colalongo (3117 intervenciones) el 12/03/2006 10:04:17
Fijate con Full Text Index: http://www.mug.org.ar/SQL/ArticSQL/237.aspx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busquedas Avanzadas con SQL Server

Publicado por Esteban (1144 intervenciones) el 13/03/2006 05:28:25
Mi fuerte no es el área de Bases de Datos, sin embargo, de los que saben trato de aprender, lo único que puedo decir es lo mismo que me respondieron, una búsqueda con "LIKE" es preferible evitarla en lo más posible, igual que algunas otras combinaciones operacionales tales como los "OR", ya que lo que hacen es más un barrido de tabla "TABLE SCAN" y eso es mucho más lento que una búsqueda por índice, claro, creo que está de más decirlo, pero si tienes una tabla de 1500000 de registros, claro que durará "toda una vida" en sacar la información, si yo tengo también unas tablas que superan el millón de registros y utilizando índices tarda cerca de 30 segundos sacando en ocaciones solo 20 registros, más durará con operadores LIKE, OR, o con operaciones sobre campos de tablas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar