Sobre indices (duda de novato)

18/02/2004 - 13:12 por Pedro Jose Caceres | Informe spam
Soy nuevo en sql server.

Cual es la utilidad de los indices en sql server ? como se aprovechan desde
una aplicacion ?

es el mismo concepto de por ej. las tablas DBF's (las que usa dbase o
foxpro) ?

Preguntas similare

Leer las respuestas

#6 Maximiliano Damian Accotto
19/02/2004 - 14:45 | Informe spam
Hola, eso lo debes manejar en el Cliente, los motores de Bases de Datos
estan pensados y optimizados para tratar conjuntos de Registros.

Luego vos en tu Cliente por medio de Recordset,Dataset (este no tan asi)
podes ir hacia delante atras o lo que quieras, pero eso lo maneja el cliente
y NO DEBES tratar de hacerlo en SqlServer, ya que la performance degrada
considerablemente


Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...efault.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
-

"Pedro Jose Caceres" escribió en el mensaje
news:
gracias,

Me surge otra cosa respecto a indices. Pueden los indices servir por ej.
para recorrer eficientemente una tabla en determinado orden desde un
programa en Fox o en delphi (por ej.) ?

Por ejemplo, para hacer una barra de navegacion sobre un orden determinado
de una clave no necesariamente secuencial ni numerica. Parecido a lo que
hace el control dbnavigator de Delphi. Podrian servir los indices de sql
server para eso sin que se sacrifique velocidad?

como se haria para saber por ej. la clave anterior o la clave siguiente


del
registro que se esta presentando al usuario en un momento dado ?


La duda viene porque en el foro de VFP leí que SQL server no esta


orientado
a registros donde tu puedes saber en cualquier momento "dónde te


encuentras"
y haciendo un SKIP avanzas al siguiente del orden lógico (indice) que
tengas activo. Entonces un cliente me esta pidiendo una barra de
navegacion para un formulario de una tabla con una clave alfanumerica no
secuencial y la verdad es mi primer programa con sql server y no se como
sacar la clave proxima-siguiente de la que se tenga en un momento.


gracias por su ayuda

"Miguel Egea" wrote in message
news:
> A la explicación de maxi solo me queda añadir que no tienes que usarlos


de
> forma explicita, el propio optimizador de consultas de SQL usará los
índices
> ma´s adeecuados para tu consulta en base a estimaciones estadísticas que
> están habilitadas por defecto. Además tienes un asistente (el index
tunning
> wizard) que en base a una consulta puede recomendarte que índices crear.
>
>
>
> Saludos
> Miguel Egea
> http://www.portalsql.com
> SQL-Server MVP
>
> "Pedro Jose Caceres" escribió en el mensaje
> news:
> > Muchas gracias por la explicacion.
> >
> > "Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in
> message
> > news:#
> > > Hola,
> > >
> > > los indices son el mismo concepto basico que para cualquier Base de
> datos,
> > > voy a darte un ejemplo voy difundido entre los DBA y


desarrolladores:
> > >
> > > Imaginate que vos humano sos el encargado de ingresar en unas fichas
> > (papel)
> > > los clientes de una telefonica, y los ingresas por numero de Cliente
(en
> > > otras palabras como se van inscribiendo)
> > >
> > > Bien vos en una pila de muchas fichas las tenes asi, ok?
> > >
> > > Ahora aparece tu jefe y te pregunta: Me puede traer al cliente 100,
bue
> es
> > > facil no, si estan abajo los mas viejos solo contas 100 y listo no?
> > >
> > > Bien pero ahora aparece este jefe y te dice: Me puede traer todas


las
> > fichas
> > > de los Clientes que viven en la Ciudad tal
> > >
> > > Oooo sorpresa, como vos no los tenes ordenados asi que opcion queda?
bue
> > no
> > > hay otra que ir mirando uno por uno y el que cumpla con la condicion
> > > Extraerlo no?
> > >
> > > A esto le podriamos llamar un SCAN Table, o sea tuviste que mirar
> registro
> > > por registro para saber que hacer con cada uno, ahora imaginate que
son
> > > 1.000.000 de registros, guauuu perderias mucho tiempo verdad?
> > >
> > > Esto mismo le pasa a cualquier Base de Datos, Sql Server es una Base
de
> > > datos por lo cual le sucede lo mismo.
> > >
> > > El indice basicamente ayuda en las busquedas como te di este


ejemplo,
> pero
> > > ojo no es cuestion de andar creando indices por ahi, porque cada vez
que
> > > agregues un regsitro nuevo tambien se debe agregar en el indice
Verdad?
> > para
> > > que este sepa la posicion no?
> > >
> > > Si quieres mas informacion sobre este tema te recomiendo que leas


los
> > libros
> > > en pantalla de SqlServer
> > >
> > >
> > > Salu2
> > > Maxi
> > > Buenos Aires Argentina
> > > Desarrollador Microsoft 3 Estrellas .NET
> > > [Maxi_accotto[arroba]speedy[punto]com[punto]ar
> > > MSN:
> > >
> > >
> > > "Pedro Jose Caceres" escribió en el
mensaje
> > > news:
> > > > Soy nuevo en sql server.
> > > >
> > > > Cual es la utilidad de los indices en sql server ? como se
aprovechan
> > > desde
> > > > una aplicacion ?
> > > >
> > > > es el mismo concepto de por ej. las tablas DBF's (las que usa


dbase
o
> > > > foxpro) ?
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > > Outgoing mail is certified Virus Free.
> > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > Version: 6.0.581 / Virus Database: 368 - Release Date: 10/02/2004
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Miguel Egea
21/02/2004 - 16:16 | Informe spam
En cualquier caso nuestro compañero Pedro puede implementar esa barra de
navegación simplemente implementando alguna rutina que vaya trayendo los
registros de X en X elementos, creo que hay algún artículo sobre paginación
en Portalsql.com revisalo


=Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.
Brigada Anti-Cursores
Aviso de Seguridad
http://www.microsoft.com/spain/tech...9-USER.asp
==


"Maximiliano Damian Accotto" escribió
en el mensaje news:
Hola, eso lo debes manejar en el Cliente, los motores de Bases de Datos
estan pensados y optimizados para tratar conjuntos de Registros.

Luego vos en tu Cliente por medio de Recordset,Dataset (este no tan asi)
podes ir hacia delante atras o lo que quieras, pero eso lo maneja el


cliente
y NO DEBES tratar de hacerlo en SqlServer, ya que la performance degrada
considerablemente


Salu2 enormes

Maximiliano Damian Accotto

Fundicion San Cayetano S.A.
Gerente de IT
Buenos Aires - Argentina
-
Desarrollador 3 estrellas
http://www.microsoft.com/spanish/ms...efault.asp
-
(maxi_accotto[arroba]speedy.com.ar)
MSN:
-

"Pedro Jose Caceres" escribió en el mensaje
news:
> gracias,
>
> Me surge otra cosa respecto a indices. Pueden los indices servir por


ej.
> para recorrer eficientemente una tabla en determinado orden desde un
> programa en Fox o en delphi (por ej.) ?
>
> Por ejemplo, para hacer una barra de navegacion sobre un orden


determinado
> de una clave no necesariamente secuencial ni numerica. Parecido a lo


que
> hace el control dbnavigator de Delphi. Podrian servir los indices de


sql
> server para eso sin que se sacrifique velocidad?
>
> como se haria para saber por ej. la clave anterior o la clave siguiente
del
> registro que se esta presentando al usuario en un momento dado ?
>
>
> La duda viene porque en el foro de VFP leí que SQL server no esta
orientado
> a registros donde tu puedes saber en cualquier momento "dónde te
encuentras"
> y haciendo un SKIP avanzas al siguiente del orden lógico (indice) que
> tengas activo. Entonces un cliente me esta pidiendo una barra de
> navegacion para un formulario de una tabla con una clave alfanumerica no
> secuencial y la verdad es mi primer programa con sql server y no se como
> sacar la clave proxima-siguiente de la que se tenga en un momento.
>
>
> gracias por su ayuda
>
> "Miguel Egea" wrote in message
> news:
> > A la explicación de maxi solo me queda añadir que no tienes que


usarlos
de
> > forma explicita, el propio optimizador de consultas de SQL usará los
> índices
> > ma´s adeecuados para tu consulta en base a estimaciones estadísticas


que
> > están habilitadas por defecto. Además tienes un asistente (el index
> tunning
> > wizard) que en base a una consulta puede recomendarte que índices


crear.
> >
> >
> >
> > Saludos
> > Miguel Egea
> > http://www.portalsql.com
> > SQL-Server MVP
> >
> > "Pedro Jose Caceres" escribió en el


mensaje
> > news:
> > > Muchas gracias por la explicacion.
> > >
> > > "Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in
> > message
> > > news:#
> > > > Hola,
> > > >
> > > > los indices son el mismo concepto basico que para cualquier Base


de
> > datos,
> > > > voy a darte un ejemplo voy difundido entre los DBA y
desarrolladores:
> > > >
> > > > Imaginate que vos humano sos el encargado de ingresar en unas


fichas
> > > (papel)
> > > > los clientes de una telefonica, y los ingresas por numero de


Cliente
> (en
> > > > otras palabras como se van inscribiendo)
> > > >
> > > > Bien vos en una pila de muchas fichas las tenes asi, ok?
> > > >
> > > > Ahora aparece tu jefe y te pregunta: Me puede traer al cliente


100,
> bue
> > es
> > > > facil no, si estan abajo los mas viejos solo contas 100 y listo


no?
> > > >
> > > > Bien pero ahora aparece este jefe y te dice: Me puede traer todas
las
> > > fichas
> > > > de los Clientes que viven en la Ciudad tal
> > > >
> > > > Oooo sorpresa, como vos no los tenes ordenados asi que opcion


queda?
> bue
> > > no
> > > > hay otra que ir mirando uno por uno y el que cumpla con la


condicion
> > > > Extraerlo no?
> > > >
> > > > A esto le podriamos llamar un SCAN Table, o sea tuviste que mirar
> > registro
> > > > por registro para saber que hacer con cada uno, ahora imaginate


que
> son
> > > > 1.000.000 de registros, guauuu perderias mucho tiempo verdad?
> > > >
> > > > Esto mismo le pasa a cualquier Base de Datos, Sql Server es una


Base
> de
> > > > datos por lo cual le sucede lo mismo.
> > > >
> > > > El indice basicamente ayuda en las busquedas como te di este
ejemplo,
> > pero
> > > > ojo no es cuestion de andar creando indices por ahi, porque cada


vez
> que
> > > > agregues un regsitro nuevo tambien se debe agregar en el indice
> Verdad?
> > > para
> > > > que este sepa la posicion no?
> > > >
> > > > Si quieres mas informacion sobre este tema te recomiendo que leas
los
> > > libros
> > > > en pantalla de SqlServer
> > > >
> > > >
> > > > Salu2
> > > > Maxi
> > > > Buenos Aires Argentina
> > > > Desarrollador Microsoft 3 Estrellas .NET
> > > > [Maxi_accotto[arroba]speedy[punto]com[punto]ar
> > > > MSN:
> > > >
> > > >
> > > > "Pedro Jose Caceres" escribió en el
> mensaje
> > > > news:
> > > > > Soy nuevo en sql server.
> > > > >
> > > > > Cual es la utilidad de los indices en sql server ? como se
> aprovechan
> > > > desde
> > > > > una aplicacion ?
> > > > >
> > > > > es el mismo concepto de por ej. las tablas DBF's (las que usa
dbase
> o
> > > > > foxpro) ?
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > Outgoing mail is certified Virus Free.
> > > > Checked by AVG anti-virus system (http://www.grisoft.com).
> > > > Version: 6.0.581 / Virus Database: 368 - Release Date: 10/02/2004
> > > >
> > > >
> > >
> > >
> >
> >
>
>



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