如何在執行AQL select時包含PK?AQL - 如何在SELECT中顯示PK
例子:
SELECT * FROM test.users
返回:
名字,姓氏等
我真正想知道的是PK還是關鍵,所以我可以刪除行。我如何將PK包含在SELECT AQL語句中。
如何在執行AQL select時包含PK?AQL - 如何在SELECT中顯示PK
例子:
SELECT * FROM test.users
返回:
名字,姓氏等
我真正想知道的是PK還是關鍵,所以我可以刪除行。我如何將PK包含在SELECT AQL語句中。
默認情況下,Aerospike不會將實際主鍵存儲在數據庫中。它默認存儲20字節的摘要(密鑰的散列)。這將是大型密鑰的巨大節約。但是,在最新版本中,這可以通過put()操作來更改,以存儲密鑰。但是,AQL客戶端還沒有增強,但仍然利用這個事實。我將爲此增強提交內部票據。
在平均時間...
替代解決方案
產生額外斌保存主鍵和索引它。然後你可以使用AQL語句檢索這個主鍵。
如何使用aql創建bin? –
@SureshParmar當您保存具有額外的bin和相關數據的數據時,它會自動創建它。 –
感謝您的信息...我需要更多的幫助。我想用aerospike去,但我不確定在某些point.I有多個列有地圖和列表數據類型。我的要求是將數據存儲在地圖中並從地圖中檢索數據。第二件事是檢索數據時,我需要檢查where子句中的多個bin。那麼它對我來說會很方便嗎?請儘快回覆。並感謝好友。 :) –
刪除集合中的數據 - 要從集合中刪除記錄,可以使用scanAll API遍歷所有記錄並刪除。在scanCallback調用期間,它獲取每個記錄的摘要密鑰並刪除。下面是引用鏈接
http://www.aerospike.com/community/labs/deleting_sets_and_data.html
一旦我們擴大了通過AQL檢索主索引,然後你可以檢索已創建主索引鍵,但通過調用確保你已經存儲的密鑰的功能sendKey屬性WritePolicy類。 SendKey發送用戶定義的密鑰,除了記錄放置上的散列摘要。默認情況下不會發送。
如何使用Java API編寫PK?我目前正在調用「client.put(null,key,binsArray);」 (客戶端類型爲com.aerospike.client.AerospikeClient,鍵值爲com.aerospike.client.Key,binsArray爲 com.aerospike.client.Bin [])。我只是將另一個bin添加到binsArray中作爲密鑰?如果是這樣,我該用什麼名字命名? 「PK」? – Brent212
我想通了。有點。我將寫策略「sendKey」屬性設置爲true,現在我可以在AQL shell中看到PK列。但是我仍然無法做一個「select * from」,其中PK =''「。總是得到「未找到記錄」結果。 –
Brent212
是的,在寫策略中設置sendKey屬性是正確的。看起來你正在使用錯誤的查詢。它應該是「select * from。其中PK =''」。你可能已經想通了 –
sunil