У меня есть относительно большая таблица (~ 100 м записей), которая в основном является хранилищем XML. Может быть несколько документов XML с разными временными метками (с логикой, что последняя метка времени = самая последняя версия). Мы ожидаем ежемесячные пакеты обновленных данных, возможно, с новыми версиями ~ 70% данных.
Мы планируем хранить в магазине только самые последние 2-3 версии, поэтому я предполагаю, что наш текущий индекс b-дерева (идентификатор записи, отметка времени) не обязательно самый быстрый? Простой запрос "select * from table, где timestamp> = yyyy-mm-dd по идентификатору записи, timestamp" завершился вчера вечером - довольно высокотехнологичный комплект, и я не думаю, что кто-то другой использовал БД в самый раз.
(что касается самого запроса, в идеале я хочу выбрать только самый последний документ с отметкой времени> = гггг-мм-дд, но это пока не проблема).
Можно ли как-нибудь создать столбец авто- декремента следующим образом:
Record ID Timestamp Version XML
1 2011-10-18 1 <...>
1 2011-10-11 2 <...>
1 2011-10-04 3 <...>
2 2011-10-18 1 <...>
2 2011-10-11 2 <...>
и т. Д., Т. Е. По мере появления новой версии, самая последняя отметка времени = версия 1, а все старые записи получают версию = версия + 1. Таким образом, мои служебные сценарии могут быть простыми: «Удалить, где версия> 3 "(или что мы решили оставить), и у меня может быть индекс b-дерева для идентификатора записи и двоичный индекс для версии?
Надеюсь, я не лаю совсем не на то дерево - все утро "творчески гуглюл", и это теория, которую я выдвинул ...