none
Como se comportan los indices con consultas con Like %% RRS feed

  • Pregunta

  • Hola... Como es el comportamiento de un query en las siguientes consultas:

    Select ID, Nombre, Apellido From Persona Where Nombre = 'jose'

    Select ID, Nombre, Apellido From Persona Where Nombre Like '%jose%'

    Basicamente quiero saber el tratado del like '%%'

    Gracias

    Select ID, Nombre, Apellido From Persona Where Nombre = 'jose'
    jueves, 14 de agosto de 2014 21:18

Respuestas

  • Hola.

    En caso de existir un índice por el campo del filtro, con igualdad o con el "%" por la derechas se comportará realizando una búsqueda, exacta en el primer caso, aunque de forma bastante eficaz en ambos.

    En caso de colocar el "%" a la izquierda, el rendimiento será bastante peor, ya que tendrá que realizarse un recorrido del índice.

    De todos modos, compruébalo tú mismo, examinando el plan de ejecución de la consulta en ambos casos.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    • Marcado como respuesta Zr-.- viernes, 15 de agosto de 2014 14:06
    viernes, 15 de agosto de 2014 6:05
    Moderador

Todas las respuestas

  • ¿Hay índice por la columna Nombre?


        José Diz     Belo Horizonte, MG - Brasil



    • Editado José Diz viernes, 15 de agosto de 2014 19:34
    jueves, 14 de agosto de 2014 23:08
  • Hola.

    En caso de existir un índice por el campo del filtro, con igualdad o con el "%" por la derechas se comportará realizando una búsqueda, exacta en el primer caso, aunque de forma bastante eficaz en ambos.

    En caso de colocar el "%" a la izquierda, el rendimiento será bastante peor, ya que tendrá que realizarse un recorrido del índice.

    De todos modos, compruébalo tú mismo, examinando el plan de ejecución de la consulta en ambos casos.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    • Marcado como respuesta Zr-.- viernes, 15 de agosto de 2014 14:06
    viernes, 15 de agosto de 2014 6:05
    Moderador
  • Hola.

    En caso de existir un índice por el campo del filtro, con igualdad o con el "%" por la derechas se comportará realizando una búsqueda, exacta en el primer caso, aunque de forma bastante eficaz en ambos.

    En caso de colocar el "%" a la izquierda, el rendimiento será bastante peor, ya que tendrá que realizarse un recorrido del índice.

    De todos modos, compruébalo tú mismo, examinando el plan de ejecución de la consulta en ambos casos.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    Gracias por la aclatoria, sabia que era diferente colocarlo a la izquierda o a la derecha!!!
    viernes, 15 de agosto de 2014 14:06