Detta är inte bra praxis. Numeriska data ska sparas i NUMBER kolumner. Anledningen är enkel:om vi inte tillämpar en stark datatyp kan vi hitta oss själva med icke-numeriska data i vår varchar2-kolumn. Om det skulle hända så ett filter som detta
where to_number(field1) = 23
skulle misslyckas med ORA-01722: invalid number
.
Jag kan inte säkert säga att detta är vad som händer i ditt scenario, eftersom jag inte förstår varför uppenbarligen obetydliga ändringar i ID-filtren har förändrat frågans framgång. Det skulle vara lärorikt att se exekveringsplanerna för de olika versionerna av frågorna. Men jag tror att det är mer sannolikt att det är ett problem med din data än en bugg i SGA.