Orden

02/05/2006 - 11:09 por miquel busom | Informe spam
hola,

Tengo una base de datos con una tabla que contiene artículos (artículos
médicos escritos por un autor determinado). El campo artículo está definido
como nvarchar(400).
el cliente pide que cuando se recuperen dichos artículos se ordenen sin
tener en cuenta el signo de interrogación (si es que existe en el artículo)
o los posibles guiones (ej. "causas del infarto - infartos de
miocardio")

Yo habia pensado en crear una función para el orden del tipo:
"Select artículo from tabla order by dbo.QuitaSimbolosRaros(articulo)"
pero no sé si esto funcionará y si lo hace si ralentizará mucho el proceso
(hay acerca de 2 millones de artículos...)
He estado viendo algo del collation, pero no tengo muy claro si esto
serviria y qué código deberia usar.

Alguien sabe algo acerca de esto?
Grácias

Preguntas similare

Leer las respuestas

#1 Antonio Soto
02/05/2006 - 13:43 | Informe spam
Hola Miguel

Para realizar este tipo de búsquedas, te recomiendo que mires de implementar
Full-Text indexing. Eso te permitirá obviar los caracteres que desees en las
consultas, además de permitirte búsquedas más flexibles. En el siguiente
enlace tienes una pequeña introducción a como hacerlo
http://www.microsoft.com/spanish/ms.../art75.asp

Saludos
Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference.
"miquel busom" escribió en el mensaje
news:
hola,

Tengo una base de datos con una tabla que contiene artículos (artículos
médicos escritos por un autor determinado). El campo artículo está
definido
como nvarchar(400).
el cliente pide que cuando se recuperen dichos artículos se ordenen sin
tener en cuenta el signo de interrogación (si es que existe en el
artículo)
o los posibles guiones (ej. "causas del infarto - infartos de
miocardio")

Yo habia pensado en crear una función para el orden del tipo:
"Select artículo from tabla order by dbo.QuitaSimbolosRaros(articulo)"
pero no sé si esto funcionará y si lo hace si ralentizará mucho el proceso
(hay acerca de 2 millones de artículos...)
He estado viendo algo del collation, pero no tengo muy claro si esto
serviria y qué código deberia usar.

Alguien sabe algo acerca de esto?
Grácias


Respuesta Responder a este mensaje
#2 miquel busom
03/05/2006 - 16:31 | Informe spam
Hola, y gracias por responder.
El problema no es que tenga que filtrar registros.
El problema es solo en el orden en que deben aparecer. Y es aqui cuando en
el orden debo sacar basicamente los signos de interrogación y los guiones.

Miquel



"Antonio Soto" escribió en el mensaje
news:%
Hola Miguel

Para realizar este tipo de búsquedas, te recomiendo que mires de


implementar
Full-Text indexing. Eso te permitirá obviar los caracteres que desees en


las
consultas, además de permitirte búsquedas más flexibles. En el siguiente
enlace tienes una pequeña introducción a como hacerlo
http://www.microsoft.com/spanish/ms.../art75.asp

Saludos
Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other person
or entity either by inference or direct reference.
"miquel busom" escribió en el mensaje
news:
> hola,
>
> Tengo una base de datos con una tabla que contiene artículos (artículos
> médicos escritos por un autor determinado). El campo artículo está
> definido
> como nvarchar(400).
> el cliente pide que cuando se recuperen dichos artículos se ordenen sin
> tener en cuenta el signo de interrogación (si es que existe en el
> artículo)
> o los posibles guiones (ej. "causas del infarto - infartos de
> miocardio")
>
> Yo habia pensado en crear una función para el orden del tipo:
> "Select artículo from tabla order by dbo.QuitaSimbolosRaros(articulo)"
> pero no sé si esto funcionará y si lo hace si ralentizará mucho el


proceso
> (hay acerca de 2 millones de artículos...)
> He estado viendo algo del collation, pero no tengo muy claro si esto
> serviria y qué código deberia usar.
>
> Alguien sabe algo acerca de esto?
> Grácias
>
>


Respuesta Responder a este mensaje
#3 Antonio Soto
03/05/2006 - 21:50 | Informe spam
Bien,

entonces no te quedará más remedio que implementar alguna función al estilo
de la que comentas


"miquel busom" escribió en el mensaje
news:
Hola, y gracias por responder.
El problema no es que tenga que filtrar registros.
El problema es solo en el orden en que deben aparecer. Y es aqui cuando en
el orden debo sacar basicamente los signos de interrogación y los guiones.

Miquel



"Antonio Soto" escribió en el mensaje
news:%
Hola Miguel

Para realizar este tipo de búsquedas, te recomiendo que mires de


implementar
Full-Text indexing. Eso te permitirá obviar los caracteres que desees en


las
consultas, además de permitirte búsquedas más flexibles. En el siguiente
enlace tienes una pequeña introducción a como hacerlo
http://www.microsoft.com/spanish/ms.../art75.asp

Saludos
Antonio Soto
Solid Quality Learning
http://www.sqlu.com
Disclaimer: This communication is an original work and represents my sole
views on the subject. It does not represent the views of any other
person
or entity either by inference or direct reference.
"miquel busom" escribió en el mensaje
news:
> hola,
>
> Tengo una base de datos con una tabla que contiene artículos (artículos
> médicos escritos por un autor determinado). El campo artículo está
> definido
> como nvarchar(400).
> el cliente pide que cuando se recuperen dichos artículos se ordenen sin
> tener en cuenta el signo de interrogación (si es que existe en el
> artículo)
> o los posibles guiones (ej. "causas del infarto - infartos de
> miocardio")
>
> Yo habia pensado en crear una función para el orden del tipo:
> "Select artículo from tabla order by dbo.QuitaSimbolosRaros(articulo)"
> pero no sé si esto funcionará y si lo hace si ralentizará mucho el


proceso
> (hay acerca de 2 millones de artículos...)
> He estado viendo algo del collation, pero no tengo muy claro si esto
> serviria y qué código deberia usar.
>
> Alguien sabe algo acerca de esto?
> Grácias
>
>






Respuesta Responder a este mensaje
#4 Miguel Egea
03/05/2006 - 22:07 | Informe spam
Hola una udf como esta si que puede ralentizarte la select, yo crearía un
campo calculado que puede usar esa función para quitar los caracteres y un
índice sobre ese campo calculado y ordenaría no por el original sino por el
calculado. Está claro que no es ninguna tontería en espacio, al menots 1,6
GB más de espacio, pero creo que desde el punto de vista de rendimiento creo
que sería mejor.
Saludos
Miguel Egea
"miquel busom" escribió en el mensaje
news:
hola,

Tengo una base de datos con una tabla que contiene artículos (artículos
médicos escritos por un autor determinado). El campo artículo está
definido
como nvarchar(400).
el cliente pide que cuando se recuperen dichos artículos se ordenen sin
tener en cuenta el signo de interrogación (si es que existe en el
artículo)
o los posibles guiones (ej. "causas del infarto - infartos de
miocardio")

Yo habia pensado en crear una función para el orden del tipo:
"Select artículo from tabla order by dbo.QuitaSimbolosRaros(articulo)"
pero no sé si esto funcionará y si lo hace si ralentizará mucho el proceso
(hay acerca de 2 millones de artículos...)
He estado viendo algo del collation, pero no tengo muy claro si esto
serviria y qué código deberia usar.

Alguien sabe algo acerca de esto?
Grácias


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida