| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Уникальное значение для огромной таблицы |
| Автор: TaNK 8.11.2013, 12:37 |
| Добрый день! Имеется огроманная таблица ~ 2млрд.строк. Она секционированна по месяцам, появилась необходимость создать уникальное поле. Есть ли возможность повесить уникальное значение на последнии портиции , так как предыдущие уникальные значения не нужны. Или подскажите в какой стороне поискать решения. Спасибо. |
| Автор: Zloxa 8.11.2013, 13:14 | ||
http://docs.oracle.com/cd/E11882_01/server.112/e25523/part_avail.htm#VLDBG00403 |
| Автор: Zloxa 8.11.2013, 13:44 |
| TaNK, я долго медетировал над твоим постом и так и не понял чего же ты хочешь в конце концов добиться. 1)Ты просто не хочешь строить индекс по не нужным тебе секциям? Тогда создавай локальный нонюзабельный индекс и делай его юзабельным только по тем секциям, которые тебе нужны. Если у тебя ключ секционирования содержится в ключе уникальности, то локальный индекс можно сделать и уникальным. Если же нет, тебе всяко придется строить глобальный индекс. 2)У тебя не выдержано требование униакльности в исторических данных, а ты хочешь чтобы впредь оно выдерживалось? Тогда просто создай неуникальный индекс (если ключ секционирования содержится в ключе записи, то, как в предыдущем примере, локальный, с юзабельностью по нужным тебе секциям) и натяни сверху ограничение уникальности без валидации. |
| Автор: Zloxa 8.11.2013, 14:38 | ||
Во первых - как бы далеко не факт что id присваивается именно в порядке добавления. Но то не суть, надеюсь у вас действитлеьно есть основания так полгать. Более важно во вторых, и в главных, - из вашего объяснения совершенно не понятно при чем здесь индексы и секции Добавлено @ 14:46 понял Возможно вы хотите добавить это поле ID, которого у вас вобще нет. Вобще не вижу тут проблем - добавляйте(только не называйте его ID). Вам ведь не обязательно генерить его для всех двух миллиардов. Единственно, обратите внимание на предложение http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_6015.htm#SQLRF54341 сиквенса, и помните, что обеспечение упорядоченности требует сериализации доступа к выборке значений сиквенса, что может очень серьезно просадить конкурентную вставку (по меньшей мере на РАКе) |
| Автор: TaNK 8.11.2013, 14:46 | ||||
Основания конечно же есть.
Про секции я указал - так как думал поможет делу, про индексы Вы сами обмолвились словом. |