Ho bisogno di recuperare le righe dal mio tavolo, con un campo a partire da un certo valore:Come posso rendere questa query sargable?
Attualmente sto facendo così con una semplice query come questa:
SELECT A.ID FROM SCHEMA.TABLE A WHERE A.FIELD NOT LIKE 'WORD%'
Tuttavia, ho imparato che A.FIELD
a volte contiene un numero variabile di spazi vuoti prima di "WORD".
Ovviamente, potrei riscrivere la query con un altro carattere jolly, ma ciò renderebbe non-sargable e rallentare un po '(questa query viene eseguita su una tabella abbastanza grande e deve essere il più efficiente possibile) .
C'è un modo per scrivere una query sargabile per risolvere questo problema?
Soluzione facile, disinfettare i dati e liberarsi degli spazi principali. SQL non si preoccupa degli spazi finali, ma gli spazi guida sicuramente contano. –
Sono con @KrisGruttemeyer sulla pulizia dei dati. Tuttavia, puoi semplicemente tagliare la colonna? LTRIM (A.Field) – JBond
@KrisGruttemeyer In realtà l'ho già fatto, ma ero curioso di sapere se c'era un modo per riscrivere la query nel caso in cui non avrei potuto pulire i dati per qualsiasi cosa ragionare. – Mansfield