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, 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

You can’t learn everything in one day. Subscribe the newsletter via E-Mail, Twitter or RSS to gradually catch up. Have a look at modern-⁠sql.com as well.

Acerca del autor

Foto de Markus Winand

Markus Winand es defensor del resurgimiento del SQL. Su misión es la de presentar a los desarrolladores la evolución de SQL en el siglo XXI. Es posible contratar a Markus según disponibilidad o como orador o consultor en winand.at.

Adquiere tu libro

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

La esencia del tuning de SQL en 200 páginas

Compra ahora
(libro de bolsillo y/o PDF)

Contratar a Markus

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

Entrar en contacto con Markus

Markus Winand en LinkedInMarkus Winand en XINGMarkus Winand en Twitter
“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 | Privacidad y RGPD | CC-BY-NC-ND 3.0 licencia