2015-07-07 12 views
5

So che l'indicizzazione su un campo di testo può aiutare con le ricerche con like 'keyword%'.Esiste un indice DB in grado di migliorare le prestazioni delle query "mi piace% keyword%"?

Ma c'è qualche indicizzazione tra database che può migliorare la ricerca di testo completo con like '%keyword%'?

E in genere, per un campo di testo con meno di 1000 caratteri, quando le prestazioni della query like %keyword% diventano inaccettabili per una richiesta Web? Dì quando il tavolo raggiunge le 10.000 righe?

+0

Postgres può utilizzare un indice per 'mi piace '% keyword%'': http://www.depesz.com/2011/02/19/waiting-for-9-1-faster-likeilike/ non è sicuro di quello che significa con "indicizzazione cross-database" però. –

+0

Intendo un indice che può essere creato in SQL standard supportato da tutti i dbs. – NeoWang

+2

La maggior parte dei DBMS supportano una ricerca full-text integrata come alternativa rapida a 'LIKE' - ma la sintassi è diversa per ogni DBMS. –

risposta

2

È possibile utilizzare FULLTEXT INDEX e seach utilizzando i comandi specifici - su MSSQL potrebbe all'uso contiene (colonna, '* parola chiave *') o FREETEXT - https://msdn.microsoft.com/en-us/library/ms142583.aspx

Per quanto riguarda le tue domande su prestazioni, è fortemente legata alla propria infrastruttura, i tuoi dati o i tuoi termini di ricerca.

Problemi correlati