Разница в производительности между VARCHAR2 и NUMBER - PullRequest
5 голосов
/ 26 ноября 2011

Если я запрашиваю свою базу данных (Oracle) с уникальным индексом для нескольких столбцов, будет ли разница в производительности, если я изменю один из столбцов с VARCHAR2 на NUMBER?
Если есть, то значимо ли ?

(это varchar2, потому что мне нужно «0» в начале, но я могу изменить его на уровне представления в моем приложении)

Ответы [ 2 ]

4 голосов
/ 27 ноября 2011

Да, должно быть быстрее использовать NUMBER. Даст ли оно вам значительное увеличение, будет зависеть от ваших данных, индексов и запросов. Если у вас проблемы с производительностью, вряд ли это будет волшебным исправлением.

3 голосов
/ 19 мая 2015

Более знающие люди, чем я, говорят мне, что в Oracle разница в производительности между числом и varchar2 полностью зависит от ваших данных, поскольку внутренне они имеют очень похожие представления.См. Следующее:

https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2669498700346402356

, а также посмотрите раздел «Внутренний числовой формат»:

http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012

Если дляНапример, ваши данные varchar были на самом деле единичными символами (такими как 'Y', 'N'), тогда вам, вероятно, лучше использовать varchars, чем цифры.Если у вас меньше 100 кодов, но ваши строковые эквиваленты были длиной 8 символов, то вам, вероятно, лучше использовать цифры, чем varchars.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...