|
Модераторы: LSD |
|
TaNK |
|
|||
Опытный Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
Добрый день!
Имеется огроманная таблица ~ 2млрд.строк. Она секционированна по месяцам, появилась необходимость создать уникальное поле. Есть ли возможность повесить уникальное значение на последнии портиции , так как предыдущие уникальные значения не нужны. Или подскажите в какой стороне поискать решения. Спасибо. -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
http://docs.oracle.com/cd/E11882_01/server....htm#VLDBG00403 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
TaNK, я долго медетировал над твоим постом и так и не понял чего же ты хочешь в конце концов добиться.
1)Ты просто не хочешь строить индекс по не нужным тебе секциям? Тогда создавай локальный нонюзабельный индекс и делай его юзабельным только по тем секциям, которые тебе нужны. Если у тебя ключ секционирования содержится в ключе уникальности, то локальный индекс можно сделать и уникальным. Если же нет, тебе всяко придется строить глобальный индекс. 2)У тебя не выдержано требование униакльности в исторических данных, а ты хочешь чтобы впредь оно выдерживалось? Тогда просто создай неуникальный индекс (если ключ секционирования содержится в ключе записи, то, как в предыдущем примере, локальный, с юзабельностью по нужным тебе секциям) и натяни сверху ограничение уникальности без валидации. Это сообщение отредактировал(а) Zloxa - 8.11.2013, 13:47 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
TaNK |
|
|||
Опытный Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
покажу на примере: дата номер статус 08.11.2013 13:59:59 1 c 08.11.2013 14:00:00 1 p 08.11.2013 14:00:00 1 o Хотя реально с татусы идут в порядке с,о,р При сортировки таких данных мне очень важно понимать какая запись добавилась раньше или позже. Из примера строка 2 и 3 не понятно какая строка была добавлена последней. Хотел бы сделать следующее ID дата номер статус 1 08.11.2013 13:59:59 1 с 2 08.11.2013 14:00:00 1 о 3 08.11.2013 14:00:00 1 р Сортируя по дате и по значению ID - становится понятным какая строка добавлена последняя. -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 37 Всего: 161 |
Во первых - как бы далеко не факт что id присваивается именно в порядке добавления. Но то не суть, надеюсь у вас действитлеьно есть основания так полгать. Более важно во вторых, и в главных, - из вашего объяснения совершенно не понятно при чем здесь индексы и секции Добавлено @ 14:46 понял Возможно вы хотите добавить это поле ID, которого у вас вобще нет. Вобще не вижу тут проблем - добавляйте(только не называйте его ID). Вам ведь не обязательно генерить его для всех двух миллиардов. Единственно, обратите внимание на предложение order сиквенса, и помните, что обеспечение упорядоченности требует сериализации доступа к выборке значений сиквенса, что может очень серьезно просадить конкурентную вставку (по меньшей мере на РАКе) Это сообщение отредактировал(а) Zloxa - 8.11.2013, 14:52 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
TaNK |
|
||||
Опытный Профиль Группа: Участник Сообщений: 669 Регистрация: 29.10.2006 Где: Краснодар Репутация: нет Всего: 1 |
Основания конечно же есть.
Про секции я указал - так как думал поможет делу, про индексы Вы сами обмолвились словом. -------------------- Oracle 11.2.0.3.0 FireBird 1.0-2.5 |
||||
|
|||||
Правила форума "Oracle" | |
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Oracle | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |