因为没有办法使用MQL获取随机记录,所以我首先尝试使用计数来获取它:
[{ "return": "count", "id": null, "name": null, "type": "/people/person"}]
并在n
和0
之间使用随机页码total / records per page
。在此示例中,有大约2.000.000条记录(40.000页,每页50条记录)。
然后我发送一个带有“page”属性的信封,我也限制查询在第n页获得50条记录:
[{ "limit": 50, "id": null, "name": null, "type": "/people/person"}]
在信封中:
{"page": n}
但是,n > 50
时此查询非常慢。 n > 100
时速度非常慢,而n > 2000
({1}}甚至没有返回。
我有什么办法可以获得随机记录吗?我错过了什么吗?
答案 0 :(得分:4)
执行此操作时,数据库必须获取所有早期记录,以便它可以计数到您想要的记录。这就是它如此缓慢的原因。您可以做几件不同的事情: