然后RethinkDB过滤器按索引进行区分

时间:2016-08-03 08:43:20

标签: filter distinct rethinkdb

我有一张快速成长的大桌子。我希望按字段过滤,然后通过另一个字段获取不同的值。但是在RethinkDB中,这会导致所有记录都从磁盘读取,就像我从仪表板中看到的那样,这需要花费太多时间。我的查询如下:

.gallery-inner:nth-child(2){
  transform: translateX(-75px);
}

.gallery-inner:nth-child(3){
  transform: translateX(-150px);
}

原始查询如下,但RethinkDB给出的错误是它不是表。

r.db("mydb").table("mytable").filter({"AssetID": "a"}).pluck("StartedOn").distinct()

两个字段StartedOn和AssetID都已编入索引。 r.db("mydb").table("mytable").filter({"AssetID": "a"}).distinct({index:"StartedOn"}) e: Can only perform an indexed distinct on a TABLE in: 不使用索引,因此我尝试使用filter但仍然出现相同的错误:

getAll

1 个答案:

答案 0 :(得分:2)

您不能// TokenElevationTypeDefault -- User is not using a split token. (e.g. UAC disabled or local admin "Administrator" account which UAC may not apply to.) // TokenElevationTypeFull -- User has a split token, and the process is running elevated. // TokenElevationTypeLimited -- User has a split token, but the process is not running elevated. bool GetProcessElevationType(TOKEN_ELEVATION_TYPE *pOutElevationType) { *pOutElevationType = TokenElevationTypeDefault; bool fResult = false; HANDLE hProcToken = NULL; if (::OpenProcessToken(::GetCurrentProcess(), TOKEN_QUERY, &hProcToken)) { DWORD dwSize = 0; TOKEN_ELEVATION_TYPE elevationType = TokenElevationTypeDefault; if (::GetTokenInformation(hProcToken, TokenElevationType, &elevationType, sizeof(elevationType), &dwSize) && dwSize == sizeof(elevationType)) { *pOutElevationType = elevationType; fResult = true; } ::CloseHandle(hProcToken); } return fResult; } 一个索引,然后在另一个索引上使用索引getAll。在这种情况下,我建议在distinct之后使用未经索引的distinct