Plan de consulta

Es el resultado de aplicar una serie de algoritmos para optimizar el rendimiento de una consulta. El encargado es el DBMS. Hay muchos algoritmos diferentes para resolver los joins (nested-loop, index, hash, sort-merge). Cada uno de éstos, performa mejor bajo ciertas condiciones como puede ser poca cantidad de datos, poca cantidad de columnas, etc. Lo que hace el DBMS es elegir el que mejor se adapta. Lo mismo puede aplicar para ordenamiento, agrupamiento, e índices. De ésta manera, aumenta el rendimiento de ejecución de la consulta a cambio de un poco de overhead.

Transacción

Concepto

Una transacción es conjunto de sentencias SQL que se ejecutan de manera ACID.

Atomicidad

Este concepto refiere a la idea de que un conjunto de sentencias se ejecutan todas o no se ejecuta ninguna. Es decir, si falla la ejecución en alguna sentencia, todos los cambios introducidos son rollbackeados.

Consistencia

Este concepto refiere a la idea de que, partiendo de un estado consistente, si se ejecuta un conjunto de sentencias SQL, se va a llegar a otro estado consistente. Es decir, si se ejecutan una serie de sentencias SQL, no va a romper la integridad de la BD (es decir, las modificaciones introducidas por las sentencias cumplen con las restricciones).

Isolación (aislamiento)

Este concepto refiere a la idea de que dos conjuntos de sentencias SQL se pueden ejecutar concurrentemente y ninguna afectar a la otra, o sí, dependiendo del nivel de aislamiento.

Durabilidad

Este concepto refiere a la idea de que un conjunto de sentencias, si se ejecutan y modifican a la BD, las modificaciones persisten y no se pueden deshacer.