У меня есть следующий SQL:
SELECT id, url
FROM link
WHERE visited = false
ORDER BY id
LIMIT 500;
- * 500 - это только пример
Я делаю веб-сканер, и есть таблица со ссылками.Этот SQL возвращает ссылки для посещения, но не все из них, только количество, определенное в предложении limit.
Я буду использовать потоки, и если первый выполнит этот запрос, он получит первые 500 ссылок, еслиВторой поток выполнит тот же запрос, он получит следующие 500 ссылок.Другими словами, первый thead получает ссылки от 1 до 500, второй поток получает от 501 до 1000, третий поток получает от 1001 до 1500 и т. Д.
МОЖЕТ БЫТЬ, ему не нужно работать с потоками, но на разных компьютерах, работающих одинаковоприложение.Я не знаю, нужно ли создавать поле в таблице, чтобы установить, что строка использовалась другим потоком / приложением, или я могу сделать это только с SQL / СУБД.Я использую PostgreSQL.
Другими словами, ОПЯТЬ, мне нужно заблокировать проверенную строку, чтобы она не появлялась в другом запросе.