我有以下SQL:如何在每个查询中使用限制不同的SQL查询结果?
SELECT id, url
FROM link
WHERE visited = false
ORDER BY id
LIMIT 500;
- * 500仅仅是一个例子
我正在做的WebCrawler,并有一个带有链接的表。这个SQL返回要访问的链接,但不是所有的链接,只有限制条款中定义的数量。
我将使用线程,如果第一个执行此查询,它将获得前500个链接,如果第二个线程执行相同的查询,它将获得下一个500个链接。换句话说,首先获得链接1到500,第二个线程获得501到1000,第三个线程获得1001到1500等等。
MAYBE它不需要使用线程,但使用不同的计算机运行相同的应用程序。我不知道是否需要在表中创建一个字段来设置该行被另一个线程/应用程序使用,或者我只能使用SQL/DBMS来完成此操作。我正在使用PostgreSQL。
换句话说,再次,我将需要锁定一个咨询行不会出现在另一个查询中。
偏移或领域,什么是更好的?另外一个解 – 2011-05-12 20:43:27