Выберите только обновленные / новые строки в базе данных / таблице MySQL

В моем текущем проекте я пытаюсь проверить базу данных MySQL: база данных MySQL обновляется другой программой, поэтому моей программе на C ++ нужно выбирать только новые строки. Это не будет маленькая таблица (> 10000 строк), поэтому я не хочу искать каждую строку. то есть проверка столбца, такого как isNew = 0 или = 1. Я уже нашел:

Запрос на поиск таблиц, измененных за последний час

http://www.codediesel.com/mysql/how-to-check-when-a-mysql-table-was-last-updated/

Однако в этом примере вы можете получить только обновленную таблицу. Как я могу выбрать только новые строки из таблицы?

2

Решение

Я бы порекомендовал добавить isNew столбец к таблице со значением по умолчанию 1 и добавить индекс к нему. Индекс не позволит вашему запросу проверить все строки. После обработки строки установите isNew до 0.

2

Другие решения

Как я могу выбрать только новые строки из таблицы?

Предполагая, что новые строки означают вновь вставленные, и если вы можете изменить схему базы данных, вы можете использовать автоматическое приращение колонка. Запоминая наибольшее значение каждый раз, когда ваша программа выбирает результирующий набор, она может сохранить это значение для следующего запроса:

select * from table where id > 123
4

По вопросам рекламы [email protected]