2014-09-19 83 views
7

我试图在aerospike set中使用aql(Aerospike Query Language)进行查询。
假设有1000条记录,我想读取任何10条记录。通常我会质疑这样的:
Aerospike select query中的记录数限制

select * from test.demo limit 10; 

如何查询使用相同AQL

回答

4

目前你不能在aql中这样做,但是你可以使用BETWEEN谓词来为查询定义一个范围。

当您使用C客户端(或环绕它的语言客户端之一)时,可以通过设置as_scan结构的the percentage字段来限制扫描(as_scan_foreach)。

1

以下是Java中的'scan'示例。

**this.client.scanAll(scanPolicy, "test", "demo", new ScanCallback() { 

     @Override 
     public void scanCallback(Key key, Record record) throws AerospikeException { 
      System.out.println("Record: " + record); 

     } 
    });** 

“扫描”中没有暗示的顺序,记录将按照从群集中的节点接收的顺序返回到您的应用程序。