Не используйте неподходящие типы данных - просто сохраняйте даты как даты; числа как числа; и строки в виде строки.
тим, у меня есть таблица в Oracle 12c со столбцами:
create table t1 (
a number (5,0),
b varchar (5,0)
d ...
e ...
);
Затем я вставляю 100 000 000 записей в оба столбца, которые имеют одинаковые значения - например,
20151 and '20152' ... (for a first record)
20152 and '20152' ... (for a second record)
20153 and '20153' ... (for a third record)
...
Затем я добавляю индекс 1 в столбец'a'
и индекс 2 в столбце'b'.
Вопрос в том, будет ли запрос выполняться одинаково быстро при выполнении в отношении столбца'a'
как на колонке'b'
(например.join
запрос с другой таблицей на основе столбца'a'
или на основе столбца'b'
или жеWHERE
пункт на любой из столбцов)?
Также - будет использовать индекс на 'varchar
'column - использовать больше ЦП, чем использовать индекс для столбца' number '?
Благодарю.