To není dobrá praxe. Číselné údaje by měly být uchovávány v NUMBER sloupcích. Důvod je jednoduchý:pokud neprosadíme silný datový typ, můžeme se ocitnout s nečíselnými daty v našem sloupci varchar2. Pokud by se to stalo, pak filtr jako tento
where to_number(field1) = 23
selže s ORA-01722: invalid number
.
Nemohu s jistotou říci, že se to děje ve vašem scénáři, protože nerozumím tomu, proč zřejmě nevýznamné změny ve filtrech ID změnily úspěšnost dotazu. Bylo by poučné vidět prováděcí plány pro různé verze dotazů. Ale myslím si, že to bude spíše problém s vašimi daty než chyba v SGA.