среда, 2 июля 2008 г.

Oracle sequences

Век живи, век учись - дураком помрёшь.

Сегодня открыл для себя, что значение параметра Cache для сиквенса в оракле - это количество кэшируемых значений, и к параметру increment_by не имеет отношения. Я ошибался, когда думал, что установив значение Increment_by в 10, а Cache в 30, буду получать обращение к внутреннему словарю данных оракла в 3 (три) раза реже (Cache/Increment_by). На самом деле будет закэшировано Cache значение, и обращений к внутреннему словарю будет в Cache раз меньше. Документация по последовательностям ввела в заблуждение не только меня :)

Ещё интересный момент - это что кэш значений последовательностей храниться в shared_pool, откуда может быть вытеснен, кэш также может быть потерян при падении инстанса (как будет на RAC'е не пробовал).

Комментариев нет: