Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    14

    Interbase ottimizzare query con operatore LIKE

    Sto usando Interbase XE (developer edition) e devo ottimizzare questa query:

    SELECT *
    FROM ANAGRAFICA
    WHERE COGNOME LIKE '%AN%'
    ORDER BY NOME

    Eseguendo questa query il tempo di esecuzione è di 2,5 secondi (troppo elevato per il nostro programma)

    Cercando su internet ho visto che è consigliato di modificare la query in questo modo:

    SELECT *
    FROM ANAGRAFICA
    WHERE COGNOME STARTING WITH 'AN'
    ORDER BY NOME

    La query è effettivamente più veloce perché ha un tempo di esecuzione di 30 nanosecondi (perché usa l'indice creato sui campi COGNOME,NOME) ma il risultato è diverso perché visualizza soltanto i record che iniziano con cognome 'AN' e non visualizza quelli che contengono o terminano con 'AN' (come dovrebbe essere in origine).
    Esempio: non verrà visualizzato 'FERANI'.
    Qualcuno mi può gentilmente dire come risolve questo problema?

  2. #2
    Moderatore di Annunci siti web L'avatar di Cesar
    Registrato dal
    Dec 2001
    Messaggi
    3,446
    Ciao,
    non conoscendo InterBase, ti domando se questo database supporta la ricerca full-text.

    Su mysql, postgresql, microsoft sql srver, oracle e db2 si può fare la ricerca full text.

  3. #3
    [autocensura non fateci caso ... è la stanchezza!]
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.