de Martin LE TARNEC.

El filtro where


El capítulo anterior describe la estructura de los índices y explica la causa de los peores problemas de rendimiento con índices. En el presente capítulo, se va a aprender a detectar y evitar estos problemas en las sentencias SQL, comenzando por el filtro where .

El filtro where define las condiciones de búsqueda para una sentencia SQL, y cómo estas caen en el dominio funcional interno de un índice: encontrando los datos de forma rápida. Aunque el filtro where tiene un impacto importante sobre el rendimiento, generalmente se dice que eso se debe a que lee una gran parte del índice. La conclusión es que una mala programación del filtro where es el primer ingrediente de una sentencia lenta.

Este capítulo explica cómo los diferentes operadores afectan al uso del índice y cómo estar seguro de que un índice está disponible para el número máximo de sentencias. La última sección del capítulo muestra los anti-patrones y presenta las alternativas que dan mejores rendimientos.

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

Contenido

  1. Los operadores de igualdad — La clave de la búsqueda Lookup

    1. Llaves primarias — Verificar el uso de los índices

    2. Llaves concatenadas — Índices multi-columna

    3. Índices Lentos, Sección II — El primer ingrediente, reexaminado

  2. Funciones — Usar funciones dentro del filtro where

    1. Búsqueda insensible a mayúsculas y minúsculasUPPER y LOWER

    2. Funciones definidas por el usuario — Restricciones de las funciones basadas en índices

    3. Sobre-indexar — Evitar la redundancia

  3. Variables Bind — Para seguridad y rendimiento

  4. Buscar por rangos — Más allá de la igualdad

    1. Mayor que, menor que y BETWEEN — El orden de las columnas, reexaminado

    2. Indexar Filtros LIKE SQLLIKE no es para una búsqueda de texto completo

    3. Índice Combinado — ¿Porqué no se puede usar un índice por cada columna?

  5. Índices Parciales — Indexar los registros seleccionados

  6. NULL en la base de datos Oracle — Una curiosidad importante

    1. NULL dentro de los índices — Cada índice es un índice parcial

    2. Restricciones NOT NULL — afecta el uso de los índices

    3. Emular índices parciales — usando funciones basados en índices

  7. Condiciones Complicadas — Los anti-modelos más comunes

    1. Fechas — Prestar especial atención a los tipos DATE

    2. Cadenas de caracteres numéricos — No mezclen los tipos

    3. Mezclar columnas — usar filtros where redundantes

    4. Lógica inteligente — La manera más inteligente para crear SQL lentos

    5. Matemáticas — Las bases de datos no resuelven ecuaciones

Previous pageNext page

Acerca del autor

Foto de Markus Winand

Markus Winand enseña eficientemente SQL, en casa y online. Minimiza el tiempo de desarrollo utilizando moderno SQL y optimiza el tiempo de ejecución con indexación inteligente. Para ello también ha publicado el libro SQL Performance Explained.

“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