У меня есть таблица потока (таблица памяти) и скрипт, который вставляется в эту таблицу (от 1 строки/мин до 100 строк/сек). Мне нужно получить 1000 строк каждые 5 секунд, я имею в виду выбор лучших 1000 строк, а затем удаление выбранных строк.Как я могу получить (выбрать затем удалить) из таблицы базы данных?
Мой запрос на выборку так просто:
SELECT * FROM vdp_stream WHERE user=xxx
Моя проблема на самом деле я не могу сделать запрос DELETE SQL, потому что, возможно, некоторые новые строки добавляются между тем, когда я SELECT
и DELETE
. Я прав? Есть ли решение для извлечения строк из таблицы?
UPDATE моя структура таблицы:
vdp_stream
---------------------
user CHAR(30)
x INT
y INT
Какова структура таблицы? Похоже, вы должны использовать систему обмена сообщениями, а не RDBMS для этой задачи. – nnichols
Да, я знаю, что это звучит плохо с РСУБД, но мне нужно знать какое-либо решение для подобных ситуаций в базах данных РСУБД. –