Update
sobre todas las columnas muestra el mismo modelo que ya se ha observado en la seccion anterior: el tiempo de respuesta crece con cada índice adicional. El tiempo de respuesta del update
que afecta solamente a un índice no se incrementa mucho porque deja la mayoría de los índices sin cambios.
Para optimizar el rendimiento de update
, se deben analizar solamente de las columnas que han sido modificadas por el UPDATE. Eso es lógico si se escribe manualmente el comando update
. Sin embargo, las herramientas ORM
pueden generar comandos update
que actualizan siempre todas las columnas.
Por ejemplo, Hibernate hace eso cuando se deshabilita el
modo de UPDATE dinámico (del inglés, dynamic-update). Desde la versión 4.0, este modo se habilita por defecto.
Cuando se usan las herramientas ORM, es una buena práctica habilitar de vez en cuando el registro de sentencias (del inglés, SQL logging) en el entorno de desarrollo para validar las sentencias SQL generadas. La recomendación titulada “Habilitar el registro SQL” contiene un pequeño resumen de cómo habilitar el registro en algunas de las herramientas ORM más usadas.
Si te gusta mi manera de explicar, te encantará mi libro.
¿Habrá algún caso en el que los comandos insert
o delete
no afecten a todos los índices de una tabla?
You can’t learn everything in one day. Subscribe the newsletter via E-Mail, Bluesky or RSS to gradually catch up. Have a look at modern-sql.com as well.
La manera más rápida y fácil de beneficiarse de su extenso conocimiento y experiencia.
Aprende más »