Demostración del Poder de los Índices en SQL Server.

Demostración de la aplicación y uso de Índices en laboratorio grabado.
Un índice es una estructura de disco asociada con una tabla o una vista que acelera la recuperación de filas de la tabla o de la vista. Un índice contiene claves generadas a partir de una o varias columnas de la tabla o la vista. Dichas claves están almacenadas en una estructura (árbol b) que permite que SQL Server busque de forma rápida y eficiente la fila o filas asociadas a los valores de cada clave. udemy.com/desarrollo-de-bases-de-datos-con-sql-server-70-762/

Пікірлер: 73

  • @ikeda2011
    @ikeda20117 ай бұрын

    Excelente!!! como tantos otros ya te comentaron, que fácil y sencillo lo explicas! muchas gracias! Saludos desde Argentina!

  • @eduardoacuna2094
    @eduardoacuna20943 жыл бұрын

    Que gran explicación!!!! hace años vengo escuchando indices, indices y nunca lo entendí. Con esto , más claro imposible. Felicitaciones !!!

  • @crackmando3995
    @crackmando3995 Жыл бұрын

    El mejor, buenisima explicación, todo directo a la practica, nada de power point ni nada, todo explicado en una base de datos, excelente

  • @jesusmendozajuarez640
    @jesusmendozajuarez6406 жыл бұрын

    Impresionante su capacidad de transmitir conocimiento de manera efectiva!! un saludo desde México!

  • @marcoscontreras2266
    @marcoscontreras22662 жыл бұрын

    Excelente video de explicación de índices, me estaba volviendo loco por que mis consultas siempre tardan mucho... Gracias por tu tiempo, Felicidades.

  • @alejandrovillagra-xv8cd
    @alejandrovillagra-xv8cd2 ай бұрын

    wow.. facil explicacion gracias amigo

  • @rosalvabarreto
    @rosalvabarreto3 жыл бұрын

    Me ha explicado una incognita que he tenido por años....fantastica y precisa su explicacion! Gracias!

  • @virnieva
    @virnieva6 жыл бұрын

    Buenísimo el video! Gracias por subirlo. Fantástica tu explicación.

  • @JorgeOsoyALOS
    @JorgeOsoyALOS6 жыл бұрын

    Excelente video Ingeniero, gran aporte para mejorar las consultas.

  • @Alan-pz9gf
    @Alan-pz9gf2 жыл бұрын

    Qué vídeo tan impecable. Muchas gracias

  • @mpatino06
    @mpatino066 жыл бұрын

    Gracias por la explicación, mejor imposible, Saludos de un Venezolano en Ecuador

  • @jphumani
    @jphumani Жыл бұрын

    Gran video! De muchisima utilidad para aprendizaje. Pero vamos..."clostereados"...eso si no queda bien. Tenemos un lenguaje español rico y hermoso. Podrías hablar de agrupados y no agrupados y vale lo mismo.

  • @israelsalinas2211
    @israelsalinas2211 Жыл бұрын

    Genial, muchas gracias.

  • @jeannettemonroygarcia6086
    @jeannettemonroygarcia6086 Жыл бұрын

    ¡Muchas gracias! ¡Que bien explica!

  • @nelsonvalverdelatorre5780
    @nelsonvalverdelatorre57806 жыл бұрын

    Muy buena explicación. ¡Gracias!

  • @alejandraortiz4136
    @alejandraortiz41364 жыл бұрын

    Que buena información explicas muy bien. Me sirvió mucho gracias.

  • @genialitojr
    @genialitojr2 жыл бұрын

    felicitaciones me quedo super claro ya llevo varios anios programando y creando indices por inercia pero ya con eso ya se a que debo aplicar mil gracias

  • @visoalgt

    @visoalgt

    2 жыл бұрын

    Excelente, Gracias por el comentario

  • @brayanarzolas1352
    @brayanarzolas13524 жыл бұрын

    gracias por explicarlo tan bien master. 10/10

  • @ChristopherAmpuero
    @ChristopherAmpuero3 жыл бұрын

    Excelente, buen dato. muchas gracias!

  • @maximilianodelatorre2513
    @maximilianodelatorre2513 Жыл бұрын

    Super Clara la explicacion, gracias!!

  • @abnerchinitoperu
    @abnerchinitoperu5 жыл бұрын

    interesante ! buen video. Felicitaciones! :)

  • @user-ly7yp7ux7t
    @user-ly7yp7ux7t4 жыл бұрын

    Que gran explicacion!

  • @javierreyes3893
    @javierreyes38934 жыл бұрын

    muy buen explicacion!!

  • @JD21O
    @JD21O6 жыл бұрын

    Gracias, Excelente!

  • @memin1678
    @memin16783 жыл бұрын

    Muchas Gracias! 👍

  • @Cris310587
    @Cris3105875 жыл бұрын

    Muy entendible!

  • @aaron__sa
    @aaron__sa Жыл бұрын

    AH BUENO ERES UN NASHEEE. GRACIAS

  • @oscarhernandez-ig8dj
    @oscarhernandez-ig8dj5 жыл бұрын

    Excelente

  • @juliomejia9824
    @juliomejia98242 жыл бұрын

    Las primary key automaticamente son indices?

  • @Zwaqquen
    @Zwaqquen6 жыл бұрын

    Saludos, excelente vídeo hermano, felicidades! Una pregunta... Aunque el indexe sea clustered o no, esto tarda el tiempo de inserción de datos en dicha tabla ?

  • @visoalgt

    @visoalgt

    6 жыл бұрын

    Si, la consulta de datos es mas rápida, sacrificando un poco la inserción que se hace mas lenta ya que debe de insertar el dato de manera ordenada en el lugar correcto tanto en el índice clustereado como en el no clustereado.

  • @Zwaqquen

    @Zwaqquen

    6 жыл бұрын

    Entiendo, gracias hermano.

  • @vhcardenas

    @vhcardenas

    6 жыл бұрын

    Si el indice aunque sea clustereado o no, hace un poco mas lenta la inserción de los datos ya que ahora debe insertar los datos de manera ordenada y no solo agregarlos en cualquier lugar.

  • @orionx5822

    @orionx5822

    5 жыл бұрын

    @@visoalgthay algo que se puede hacer para q no demore. Mucho tiempo en insertar o actualizar????

  • @visoalgt

    @visoalgt

    5 жыл бұрын

    @@orionx5822 Si es más lenta inserción o actualización de datos pero no debe afectar significativamente, solo hablamos que ahora no insertara datos en cualquier página de datos, si no ahora lo debe hacer en la posición correcta de acuerdo al índice.

  • @Martin-ee5ei
    @Martin-ee5ei5 жыл бұрын

    Excelente explicación! Podrías compartir la base de datos ?

  • @EcoDev-Solutions
    @EcoDev-Solutions3 жыл бұрын

    Excelente explicación. Es una pena que no se vio el video completo pero igual se entendió a la perfección. Una pregunta: Si tengo una tabla con 10 columnas cuantos indices como máximo puedo emplear en dicha tabla? Mis respetos.

  • @visoalgt

    @visoalgt

    3 жыл бұрын

    En una tabla puedes crear 999 indices, obviamente se deben de crear en función de las consultas o vistas creadas y que usan los datos de la tabla. Entonces tu respuesta es: Depende de las vistas y los campos que use esa vista en dependencia de los datos de la tabla

  • @EcoDev-Solutions

    @EcoDev-Solutions

    3 жыл бұрын

    @@visoalgt En verdad muy agradecido por el tiempo que tomaste para responder mi inquietud. Me quedó clara tu respuesta y estoy seguro que con confianza la pondré en práctica, tomando en cuenta los campos que necesitaré sean índices para mis consultas. Muy agradecido por tu respuesta. P. D. Disculpa el abuso. Tengo una pregunta más, respecto al tema de las consultas o filtro dinámicos.Entiendo que cuando se crea un sp o función este se guarda en caché y es por ello que es muy eficiente cuando se ejecuta. Sin embargo hay clientes que a veces desean consultas donde se pueda especificar por selección el campo con el cual se ordenará o se filtrará. En el siguiente sp, podrá ver que tiene para hacer el filtro y el ordenamiento por un campo según variable el cual especifica el campo. Pero, si intento incluir una nueva tabla para relacionarlo en la concatenación, este no se ejecuta. Mi pregunta: Es posible concatenar varias tablas en una consulta con campos dinámicos como el ejemplo a continuación? create procedure sp_filtro_dinamico ( @Tope int, @Order int ) as begin declare @Campo varchar(25) if @Order=0 set @Campo='Order by id asc' if @Order=1 set @Campo='Order by id desc' declare @Consulta varchar(100) set @Consulta=CONCAT('select top ',@Tope,' a.id, a.fecha_contable, a.referencia from tb_asientos a ',@Campo) execute (@Consulta) end

  • @visoalgt

    @visoalgt

    3 жыл бұрын

    @@EcoDev-Solutions Si es posible pero la consulta que se escriba debe estar bien escrita su sintaxis, ya sea uniendo tablas por un campo en comun con inner join o si es colocar datos de una tabla debajo de datos de otra tabla con el operador Union.

  • @EcoDev-Solutions

    @EcoDev-Solutions

    3 жыл бұрын

    @@visoalgt Gracias por responder. A lo que me refiero y con el ejemplo expuesto, es como hacer que la consulta, teniendo en cuenta que se está concatenando con campos dinámicos desde parámetros, se pueda ampliar con la concatenación con una relación. Ya que si lo haga tal cual el ejemplo, si funciona pero no se como agregar o que sintaxis deba aplicar para que reconozca la relación tomando en cuenta que estoy concatenandola. Mi correo es djggarcia@gmail.com y me gustaría enviar un video explicativo con ejemplo de mi duda. Si no es mucha molestia claro está.

  • @visoalgt

    @visoalgt

    3 жыл бұрын

    @@EcoDev-Solutions Entiendo que el punto es unir dos tablas pero dinamicamente debe entender la realción entre estas tablas? o que columnas tiene la tabla, Es complejo, pero puede arreglarse consultando las tablas del sistema Sys.objects que tiene todos los objetos de la tabla dentro de estos las tablas, sys.columns que muestra todas las columnas de todas las tablas de la base de datos.

  • @condorcol7816
    @condorcol78164 жыл бұрын

    El indice clustereado se puede hacer mediante una tarea programada, o el sistema puede presentar fallos si hay inserciones o borrados mientras se esta indexa clustereado?

  • @jesusernestocasteloestrada6535
    @jesusernestocasteloestrada65353 жыл бұрын

    donde veo la continuación por favor. Excelente video

  • @ordrno1542
    @ordrno15424 жыл бұрын

    Hola amigo antes que nada te felicito por compartir tus conocimientos pero tengo una duda acerca de los indices es cierto que se le tienen que dar mantenimiento puesto a que tengo una tabla con indices, pero esta tabla por lo mismo que tiene bastantes registros se hace una depuracion y se eliminan registros para tener menos registros y asi poder tener menos datos para agilizar las consultas pero alguien me comento que al parecer si hacia eso y tenia indices habria que hacer un mantenimiento de indices es cierto eso que me comentaron sabras algo al respecto? y otra pregunta conoceras alguna otra herramienta ademas de las herramientas que nos brinda SQL para medir el rendimiento de las consultas?

  • @visoalgt

    @visoalgt

    4 жыл бұрын

    Si los índices se fragmentan y es necesario desfragmentarlos para esto se modifica el índice con una instrucción ALTER INDEX y dependiendo del nivel de fragmentación se usa REORGANIZE o REBUILD, para consultar el nivel de fragmentación puedes usar un DBCC SHOWCONTIG o consultar sys.dm_db_index_physical_stats. Para medir el rendimiento de las consultas puedes usar herramientas de www.brentozar.com/

  • @bryanalvarez1542
    @bryanalvarez15426 жыл бұрын

    Hola ! -hice esta prueba con un catalogo de datos de 5000 registros aproximadamente, pero no se vieron mucho los efectos, tiene que ser con una cantidad tan grande como la que usas en el video ? Gracias !

  • @visoalgt

    @visoalgt

    6 жыл бұрын

    Si, mientras mas datos tengas mas eficiente sera, si tu base de datos no tiene muchos registros no se percibirá las ventajas, pero podrías ver los planes de ejecución para comprobar que si esta usando los indices

  • @brianberrios4044
    @brianberrios40445 жыл бұрын

    Pero un indice clustered( no debe ser único, corto, entero, e incremental?)

  • @condorcol7816
    @condorcol78164 жыл бұрын

    El indice clusterizado se hace solo una vez osea no hay que reindexar? Los nocluster se corren periódicamente.

  • @bbent2265
    @bbent22653 жыл бұрын

    Ing. Los índices sólo se pueden crear en una tabla única o también con tablas relacionadas?

  • @visoalgt

    @visoalgt

    3 жыл бұрын

    Tambien con tablas que se relacionan con otras.

  • @bbent2265

    @bbent2265

    3 жыл бұрын

    @@visoalgt gracias.

  • @leonjah3172
    @leonjah31725 жыл бұрын

    Mi caso es que tengo dos tablas de las cuales extraigo datos, para una sola consulta, con Inner Join el detalle es que tardas 2 horas en hacer la consulta como hago espaso si tengo dos tabas ?

  • @visoalgt

    @visoalgt

    5 жыл бұрын

    Sin duda puede mejorarse la consulta, hay que evaluar el numero de registros de cada tabla, ver los indices en cada tabla si no tiene agregárselos, aunque abría que analizar a mayor detalle, de entrada colocar indices a las llaves primarias y llaves foráneas, evaluar las columnas por las que se aplican filtros. Puedes buscar en el menu de herramientas el data base engine tunning advisor y evaluar como funciona para que te ayude a indizar tu base de datos.

  • @LuisGalvezP
    @LuisGalvezP2 жыл бұрын

    todo bien , excepto el detallito 4:14 jajaja

  • @hectorbruna2731
    @hectorbruna27316 жыл бұрын

    Cuál es la base datos usada en este ejemplo?

  • @visoalgt

    @visoalgt

    6 жыл бұрын

    Esta es una base de datos propia con 6 millones de registros, para la demostración se puede usar cualquier base de datos.

  • @hectorbruna2731

    @hectorbruna2731

    6 жыл бұрын

    visoalgt ok pensé que estaba disponible

  • @fidelacosta3741

    @fidelacosta3741

    6 жыл бұрын

    compartela,en todo caso enseñanos a ingresar millones de registros en una tabla, por favor

  • @carlos126q
    @carlos126q Жыл бұрын

    porque solo te permite crear UN SOLO clustered index? y no mas?

  • @carlos126q

    @carlos126q

    Жыл бұрын

    se puede crear primero un NONCLUSTERED primero antes que un clustered?

  • @visoalgt

    @visoalgt

    Жыл бұрын

    Si tienes una fila de personas y le dices que se ordenen en la fila por orden de estatura este sería un ordenamiento físco, y si luego los quieres ordenados alfabeticamente por su nombre sin que pierdan el orden de estatura, ¡Esto no es posible! ¡Físicamente solo puedes ordenar una vez! Luego tendras que coger un papel y tomar los nombres y en el papel ordenarlos. El orden físico es el equivalente al indice agrupado y el orden en el papel es el equivalente al índice no agrupado.

  • @alejandrosuazocalix1941
    @alejandrosuazocalix19416 жыл бұрын

    Deberia de leer un poco acerca del Bookmark Lookup, completamente errónea la explicación que dio al tema.

  • @vhcardenas

    @vhcardenas

    6 жыл бұрын

    Que quiere que le explique de bookmark lookup, cuando se busca un valor en un índice no agrupado y su consulta necesita más campos que los que forman parte del nodo de hoja de índice, entonces SQL Server debe ir a recuperar los datos de las paginas de datos esto es lo que se llama una búsqueda de marcador o bookmark lookup, si no le parece no vea mi video y si es experto comparta con la comunidad, haga sus videos y apoye.

  • @alejandrosuazocalix1941

    @alejandrosuazocalix1941

    6 жыл бұрын

    Victor, con todo respeto, leo su contestación y me da una idea del tipo de persona que es usted, no seguire y no me prestare a pasar a ese nivel, tampoco me interesa colaborar con su canal.

  • @alejandrosuazocalix1941

    @alejandrosuazocalix1941

    6 жыл бұрын

    Le adjunto El link de donde saco la explicación. stackoverflow.com/questions/820714/what-is-a-bookmark-lookup-in-sql-server Que vergüenza..

  • @samuelfranciscogarcia1440
    @samuelfranciscogarcia14405 жыл бұрын

    Hola podrías compartir tu archivo. por favor en tu canal

  • @Jcsmith1706
    @Jcsmith17065 жыл бұрын

    genial el video pero que es clustereado? y no clustereado ? favor no invetar palabras que no existen en el español ... por lo demas genial

  • @visoalgt

    @visoalgt

    5 жыл бұрын

    Ok Gracias, no voy a inventar palabras.