|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
Добрый день! Вопрос чистого любопытства. Я обычно использую в тип integer или bigint для хранения целочисленных данных любого назначения в firebird. Знаю, что некоторые разработчики используют тип smallint, если известно что диапазон значений невелик. Мне кажется сегодня smallint в ключах и индексах не более чем архаизм, места особенно не съэкономишь, а хранение и обработка на уровне процессора скорее всего более сложна чем 32, 64 бит. Каково ваше мнение? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 10:19 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
Зачем в ключах и индексах. Тип используется там, где нужен минимальный целый. Как замена boolean, или небольшой набор значений типа пола (1 - м, 2 - ж, 3 - хз) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 10:41 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
bazilio77 Каково ваше мнение? если зудит - не чеши. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:07 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
bazilio77 места особенно не съэкономишь Но если этот справочник "висит" на таблице фактов с сотней-второй миллионов записей, - то вполне сэкономишь ... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 11:27 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
bazilio77Мне кажется сегодня smallint в ключах и индексах не более чем архаизм, места особенно не съэкономишь В индексах точно не сэкономишь, там ключ для него в размере double. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 12:24 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
court bazilio77 места особенно не съэкономишь Но если этот справочник "висит" на таблице фактов с сотней-второй миллионов записей, - то вполне сэкономишь ... Получаем десятки гиг уже. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 20:35 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
YuRockПолучаем десятки гиг уже. Получаем хрен на палочке из-за выравнивания и прочих побочных эффектов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 20:58 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
угу, и сжимается smallint и bigint в одно и тоже число байт... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 21:10 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov В индексах точно не сэкономишь, там ключ для него в размере double. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 21:36 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
hvladТы снова будешь утверждать, что понимаешь о чём пишешь ? В данном случае - абсолютно. Ещё со времён Джима любой NUMERIC(Х,У) до 32-х бит внутреннего представления включительно при занесении в индекс переводится в double чтобы при изменении scale не приходилось перестраивать индекс. У 64-х разрядов к нему добавляется ещё привесок из младших бит. Как Алекс сделал 128 бит - мне неведомо. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 22:17 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, речь о том, что ты агрументируешь своё "В индексах точно не сэкономишь" для smallint тем, что "там ключ для него в размере double". Но это не имеет отношения к размеру ключа индекса (из-за компрессии) Т.е. первая часть у тебя правильная - и тут бы тебе остановиться, но ... Т.е. ты либо не совсем понимаешь о чём пишешь, либо тебе совершенно похрен тот, кто тебя пытается читать. Я склоняюсь к обоим вариантам. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2020, 22:45 |
|
Нужен ли smallint?
|
|||
---|---|---|---|
#18+
hvladНо это не имеет отношения к размеру ключа индекса (из-за компрессии) Ок, теперь о компрессии. Префиксная компрессия индексов использует 32-х разрядные блоки, не так ли?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2020, 00:24 |
|
|
start [/forum/topic.php?fid=40&fpage=12&tid=1560265]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 239ms |
total: | 403ms |
0 / 0 |