Каким будет наиболее эффективный способ выбора только строк из таблицы DB2, которые вставлены/обновлены с момента последнего выбора (или определенного времени)? В таблице нет поля, которое позволит нам сделать это легко. Мы извлекаем данные из таблицы для целей отчетности, и теперь нам приходится извлекать всю таблицу каждый раз, что вызывает большие проблемы с производительностью. я нашел пример о том, как выбрать только те строки, изменились в последний день:Инкрементное извлечение из DB2
SELECT * FROM ORDERS
WHERE ROW CHANGE TIMESTAMP FOR ORDERS >
CURRENT TIMESTAMP - 24 HOURS;
Но я не уверен, насколько эффективно это будет, так как таблица огромна. Есть ли другой способ выбрать только те строки, которые были изменены, что может быть более эффективным, чем это?
Я также нашел решение под названием ParStream. Это похоже на то, что может ускорить выполнение запросов по данным, но мне не удалось найти какую-либо полезную документацию.
Чтобы использовать этот метод, вам понадобится столбец, содержащий ROW CHANGE TIMESTAMP в таблице. Обратите внимание, что такой столбец должен быть легко добавлен, поскольку столбец ROW CHANGE TIMESTAMP скрыт по умолчанию. A select * from tbl НЕ возвращает его. См. Синтаксис CREATE TABLE в информационном центре. – Charles