de Martin LE TARNEC.

¿Cuándo indexar?


Si el concepto de los índices basados en funciones es nuevo para ti, podrías tratar de indexar todo, pero eso es lo último que deberías hacer. La razón es que cada índice causa generalmente un mantenimiento. Los índices basados en funciones son particularmente problemáticos porque es muy fácil crear índices redundantes.

La búsqueda insensible entre mayúscula y minúscula puede implemen­tarse con la función LOWER:

SELECT first_name, last_name, phone_number
  FROM employees
 WHERE LOWER(last_name) = LOWER('winand')

Un índice sencillo no soporta ambos métodos para ignorar la distinción entre mayúscula y minúscula. Se podría, obviamente, crear un segundo índice sobre LOWER(last_name) para esta sentencia, pero eso significaría que la base de datos debería mantener dos índices por cada insert, update, y delete (ver también Capítulo 8, “Modificando los datos). Para que con un índice sea suficiente, se podría usar consistentemente la misma función a lo largo de su aplicación.

Sugerencia

Unifica el camino de acceso; un índice puede ser usado por varias sentencias.

Aviso

A veces, las herramientas ORM utilizan UPPER y LOWER sin dar a conocer al desarrollador. Hibernate, por ejemplo, inyecta un LOWER implícito para las búsquedas sin distinciones entre mayúscula y minúscula.

Sugerencia

Se ha de tener siempre el objetivo de indexar el dato original así como la información más útil dentro de un índice.

Si te gusta mi manera de explicar, te encantará mi libro.

Acerca del autor

Foto de Markus Winand

Markus Winand enseña SQL eficiente, en casa y online. Mejora el tiempo de desarrollo utilizando SQL moderno y optimiza el tiempo de ejecución con indexación inteligente. Su libro Rendimiento SQL explicado se ha convertido en lectura obligada sobre el tema.

Adquiere tu libro en Amazon

Portada de “Rendimiento SQL explicado”: Ardilla corriendo en la hierba

La esencia del tuning de SQL en 200 páginas

Compra en Amazon
(solo en papel)

Libro y PDF también disponible en la tienda de Markus.

Contratar a Markus

La manera más rápida y fácil de beneficiarse de su extenso conocimiento y experiencia.
Aprende más »

“Use The Index, Luke” de Markus Winand se halla bajo licencia Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
Aspectos legales | Contacto | SIN GARANTÍA | Marcas | Privacy | CC-BY-NC-ND 3.0 licencia