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

#1 Maximiliano D. A.
18/02/2004 - 13:21 | Informe spam
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
#2 Pedro Jose Caceres
18/02/2004 - 21:16 | Informe spam
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
#3 Miguel Egea
18/02/2004 - 23:52 | Informe spam
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
#4 Pedro Jose Caceres
19/02/2004 - 11:17 | Informe spam
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
#5 Javier Loria
19/02/2004 - 11:46 | Informe spam
Hola Pedro:
Si Miguel me permite, tienen razon en su parecer los participantes
del foro de VFP, cuando dicen que SQL no esta orientado a registros, y que
en SQL no estas en un registro y avanzas o retrocedes en ellos.
SQL trata de conjuntos de datos, seleccionas algunos de ellos con el
WHERE y el servidor te envia todos los que cumplen la condicion. En el
cliente en alguna estructura, tipo arreglo(recordset) el programa se mueve
en los registros. SQL requiere un importante cambio en la forma de tratar
los datos.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Pedro Jose Caceres escribio:
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
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida