El primer índice genera la mayor diferencia.
Para optimizar el rendimiento de insert
, es muy importante mantener el número de índices bajo.
Usar índices deliberadamente y con moderación siempre que sea posible. Eso también resulta beneficioso para los comandos delete
y update
.
Considerando solamente los comandos insert
, sería mejor olvidar por completo los índices; es la única manera para obtener los mejores rendimientos para
insert
. Sin embargo, las tablas sin índices son bastante irreales en el mundo real de las aplicaciones. Generalmente, se quieren volver a recuperar los datos almacenados así que se necesitan índices para mejorar la velocidad de las sentencias. Incluso las tablas tipo bitácora, generalmente en modo sólo escritura, tienen una clave primaria (y su correspondiente índice).
Sin embargo, el rendimiento sin índice es tan bueno que puede tener sentido borrar temporalmente todos los índices mientras se realicen cargas masivas mientras los índices no sean necesarios para ningún otro comando SQL. Eso puede proporcionar una aceleración espectacular que es visible en la gráfica, y de hecho es una práctica muy común en los almacenes de datos (en inglés, data-warehouses).
Si te gusta mi manera de explicar, te encantará mi libro.
¿Cómo cambiaría la Figura 8.1 cuando se usa una tabla organizada ordenada según un índice o una agrupación de índice?
¿Hay una manera indirecta para que un insert
pueda beneficiarse de la indexación? Eso es una que podría hacer más rápido un índice adicional.
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 »