Creación y Mantenimiento de Indices en el SQL Server

Поділитися
Вставка
  • Опубліковано 19 вер 2024

КОМЕНТАРІ • 32

  • @raycoustum
    @raycoustum Рік тому +1

    Súper vídeo. Sigue compartiendo más cosas así

  • @josephlojan827
    @josephlojan827 Рік тому

    Gracias maestro. Muy muy interesante

  • @jacksk8733
    @jacksk8733 Рік тому

    Primero que nada déjeme felicitarlo por hacer tan amena la clase y por explicar tan claro, también quiero agradecerle por compartir sus altos conocimientos.
    Sólo me queda una duda, ¿cuándo corresponde usar un índice agrupado y cuándo uno no agrupado?
    Alguien me podría ayudar con esa duda?

    • @visoalgt
      @visoalgt  Рік тому +1

      Indice agrupado solo puede existir uno y este indica el ordenamiento sobre el que se basa toda la tabla, los demás deben ser índices no agrupados. Los índices se crean en función de las consultas que cree y la idea es mejorar la velocidad de estas.

  • @abcgaming8436
    @abcgaming8436 3 роки тому +1

    Acabe de comprar tu curso de Administracion en tu web !

    • @vhcardenas
      @vhcardenas 3 роки тому +1

      Muchas gracias! Estoy a las ordenes cualquier consulta, por alli te llegar un correo con la info de contacto.

  • @robherto6260
    @robherto6260 2 роки тому +2

    Muy buen material hermano, saludos.
    Quizás sea trivial la respuesta a mi pregunta pero...Existe alguna especie de "guía" que ayude en el análisis sobre que campos elegir para nuestros indices? Quiero decir, que tipo de dato es ideal para nuestro indice (ésto, en el entendido que no todos los campos/tipos se pueden indizar) . Y, si necesito un indice compuesto (2 campos o más) como elegir el orden de los campos en el indice debe incorporar. Cual sería el criterio a considerar?

    • @visoalgt
      @visoalgt  2 роки тому +1

      Lo que se necesita para determinar los índices es un análisis de las consultas que se realizan, cuáles son las de mayor demanda y campos de que tablas usan, en base a esto crear los índices, en cuanto eficiencia es mejor indizar campos numéricos sobre los de texto en la medida de lo posible.

    • @robherto6260
      @robherto6260 2 роки тому

      @@visoalgt Interesante. Tengo un caso dónde he diseñado un índice que sirve a consultas, las cuales se basan primero en un intervalo de tiempo y demás campos de tipo cadena subsecuentemente. Esperaba que al ejecutar el query de consulta, SQL tomara el índice creado por mi pero extrañamente para mí, me sugiere un índice que comienza por un campo de tipo texto. De aquí mi duda sobre el orden de los campos incluidos en el índice

  • @solarycreativo
    @solarycreativo 2 роки тому +1

    excelente explicacion, estoy pensando si un campo es tipo datetime tambien es candidato para indexar porque es uno de los campos que se usa mucho como filtro en las query asi que seguramente a estos campos les viene bien ser indices o me equivoco?

    • @visoalgt
      @visoalgt  2 роки тому +2

      Si un campo de fecha puede ser indizado y puede resultar muy efectivo para las consutlas con parametros de tiempo

  • @erickpachas3257
    @erickpachas3257 3 роки тому +1

    Ing victor consulta da cursos en linea ya que en el video veo participación de alumnos.

  • @luisangelechavarriacardona2137

    El mantenimiento comienza en el minuto 36:15
    Cuando es recomendable usar REBUILD o REORGANIZE 48:38

    • @visoalgt
      @visoalgt  Рік тому

      Si la desfragmentación es > 5% pero < = 30% se aconseja Reorganizar, si es

  • @Christian-ho9qm
    @Christian-ho9qm 2 роки тому

    Muy bueno el video. Esta disponible esa base de datos para hacer la practica y poder apreciar mejor todo lo que se hizo en mi pc? Muchisimas Gracias.

  • @josephlojan827
    @josephlojan827 Рік тому

    Estimado son muy útiles tus videos. Quiero consultarte algo: al hacer un CheckDB quisiera que los resultados me los guarde en un archivo de texto. será posible ? DBCC CHECKDB ('miBase')

    • @visoalgt
      @visoalgt  Рік тому +1

      -- Activar las opciones avanzadas y es necesario para configurar xp_cmdshell
      EXEC sp_configure 'show advanced options', '1'
      RECONFIGURE
      -- esto habilita xp_cmdshell
      EXEC sp_configure 'xp_cmdshell', '1'
      RECONFIGURE
      --Crear una tabla
      Create table test
      (codigo int not null identity(1,1),
      texto varchar(max)
      )
      --Insertarle datos a la tabla
      Insert into test (texto)
      EXEC('master..xp_cmdshell ''ISQL -E -Q"dbcc checkdb(master)"''')

  • @issues300
    @issues300 3 роки тому +1

    Hola Victor. como estas? Victor. hacer una reorganización o recrear nuevamente mi índice me puede dañar la tabla si este no terminara de correr hasta el final? saludos. agradecido de antemano. debo comentar que mi tabla tiene 20 millones de registros, tiene aprox 10 índices y el % de fragmentacion esta por encima de 90. que me aconsejas.

    • @visoalgt
      @visoalgt  3 роки тому +2

      Dañar la tabla al punto de no leerla no, pero si volver lentas las consultas, es como ponerse a arreglar nuestro dormitorio y dejarlo a medias, mas desarreglado que como estaba inicialmente.

    • @issues300
      @issues300 3 роки тому

      @@visoalgt muchas gracias victor.

  • @josefedericopachecoaguilar7325

    Que pasa si tengo demasiados índices Hipotéticos y los elimino, afecta el performance de mis consultas o es recomendable dejarlos. Saludos

    • @visoalgt
      @visoalgt  Рік тому

      Seguramente hay consultas que se benefician de los indices actuales, lo que habría que investigar es los indices que no se usan y esos si, eliminarlos.

  • @diegocajal1376
    @diegocajal1376 2 роки тому

    Buenas tardes profesor, estoy llevando a cabo el curso de administración de base de datos en sql server que dicta, y tengo problemas para conectar e segundo equipo vitual con el primero, no me reconoce el domain name para conectarlo. como podrias resolverlo ? desde ya gracias

    • @visoalgt
      @visoalgt  2 роки тому

      Escribame por favor en el portal donde lo esta recibiendo para contestarle por esa via. normalmente el problema que indica es por estar mal configurada la dirección del DNS en los equipos.

  • @wolfgrimm4779
    @wolfgrimm4779 2 роки тому

    hola en cual de los tres cursos de udemy esta este tema??? y el agente de Sql Server y el matenimiento??

    • @visoalgt
      @visoalgt  2 роки тому

      Es el de Administración de SQL Server

    • @wolfgrimm4779
      @wolfgrimm4779 2 роки тому

      @@visoalgt Muchas gracias

  • @masterohsxls
    @masterohsxls 3 роки тому +1

    me gustaría por favor que me facilitara ese script

    • @kuki240
      @kuki240 3 роки тому +3

      select s.name as 'Schema',t.name as 'table',i.name as 'index',
      DDIPS.avg_fragmentation_in_percent,
      DDIPS.page_count
      from
      sys.dm_db_index_physical_stats(DB_ID(),null,null,null,null) as DDIPS
      INNER JOIN sys.tables t on t.object_id = DDIPS.object_id
      INNER JOIN sys.schemas s on t.schema_id = s.schema_id
      INNER JOIN sys.indexes i on i.object_id = DDIPS.object_id and DDIPS.index_id = i.index_id
      WHERE DDIPS.database_id = DB_ID()
      and i.name is not null
      and DDIPS.avg_fragmentation_in_percent > 0
      ORDER BY DDIPS.avg_fragmentation_in_percent desc

    • @vadinho85
      @vadinho85 3 роки тому +1

      @@kuki240 Gracias por compartir!!!

  • @adelmito
    @adelmito Рік тому

    Esta aburrido, no entendi. gracias x nada