Форум: "Прочее";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
ВнизПервичный ключ GUID vs NUMBER в Oracle Найти похожие ветки
← →
Курдль © (2006-10-26 16:53) [40]
> Ломброзо © (26.10.06 16:47) [39]
> У меня есть две системки на сотню тыс. записей в таблице
> max на гуидах. Работает как часы. Привык и руку набил.
Так у тебя реально не в одной таблице "GUID от безысходности" а такой стиль создания БД под оракл?
Попробуй "отбить" себе руку на место и спланируй следующий модкль, как дохтур Кайт прописал :)
← →
Игорь Шевченко © (2006-10-26 16:57) [41]Ломброзо © (26.10.06 16:47) [39]
Ты часом объем файла в 4 ГБ не превысил ? :)
← →
Petr V.Abramov (2006-10-26 22:08) [42]> Ломброзо © (26.10.06 16:47) [39]
скорее всего баг
> Игорь Шевченко © (26.10.06 16:57) [41]
там другая ошибка вылазит, проверено друзьями :)))
вроде как GUID - 15 байт
TGUID = packed record
D1: Longword;
D2: Word;
D3: Word;
D4: array[0..7] of Byte;
end;
по сведениям calc.exe, 2^120 = 1.3292279957849158729038070602803e+36 , т.е в number влезет
← →
Ketmar © (2006-10-26 22:13) [43]>[42] Petr V.Abramov 26-Oct-2006, 22:08
>вроде как GUID - 15 байт
а ещё байт где потерял? %-)
← →
Ломброзо © (2006-10-26 22:14) [44]Petr V.Abramov (26.10.06 22:08) [42]
Садись, кол.
Гуид - 128 бит; ежели оный перевести в строчку без скобочек и черточек - то 32 символа (256) Таки да, оверхед. Но с представлением гуида в виде rawid (16 байт) страшно неудобно работать.
← →
Petr V.Abramov (2006-10-26 22:26) [45]> Ломброзо © (26.10.06 22:14) [44]
да все равно влезет, проверил
← →
Sergey Masloff (2006-10-26 22:27) [46]Можете пинать но я когда прижало (были ноды без гарантированной связи более того некоторые с гарантированной несвязью) чтобы не плодить два поля сделал "дробные" части
XXXXX.YYYY
ХХХХ это что генератор дает что после точки номер нода
NUMBERу это все равно никаких проблем не возникает.
← →
Desdechado © (2006-10-26 22:32) [47]> Ты часом объем файла в 4 ГБ не превысил ? :)
или REDO закончились
или tablespace ограниченного размера
← →
Ломброзо © (2006-10-26 22:48) [48]1,e+38 < 3,4e+38
Не влезает :)
← →
Petr V.Abramov (2006-10-26 23:16) [49]влезает :)
insert into test.t1 values (power(2, 128), "много")
select to_char(id, rpad("0" , 39, "0")) from test.t1
340282366920938463463374607431768211456
:)
← →
Ломброзо © (2006-10-26 23:31) [50]Petr V.Abramov (26.10.06 23:16) [49]
8-O. Гугл гласит, что на скэйл и присижн в сумме положено 38 знаков.
← →
Petr V.Abramov (2006-10-26 23:37) [51]> Ломброзо © (26.10.06 23:31) [50]
не читайте советских газет
Oracle stores numeric data in variable-length format. Each value is stored in scientific
notation, with 1 byte used to store the exponent and up to 20 bytes to store the
mantissa. The resulting value is limited to 38 digits of precision.
(c) первоисточник
← →
Ломброзо © (2006-10-26 23:40) [52]Аспасиба :) Век живи - век учись. Правда меня, как специалиста далекого от арифметики, наличие мантисс с экспонентами настораживает.
← →
Petr V.Abramov (2006-10-26 23:57) [53]> Ломброзо © (26.10.06 23:40) [52]
2^419 влезает, так что спите спокойно :))))
← →
Danilka © (2006-11-01 09:14) [54][46] Sergey Masloff (26.10.06 22:27)
Ну и в чем отличие от [23], кроме отсутствия точки у меня? :)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.044 c