![](/img/trans.png)
[英]issue regarding to fetch data using sql query on 3 ignite server cluster
[英]sql query is slow when writing cache data on apache ignite cluster
測試apache點燃2.7.0和2.3.0,如果沒有寫入緩存數據,sql查詢速度很快,但是當我寫數據時,sql查詢比較慢,為什么?
如何在數據寫入apache點火緩存時快速進行SQL查詢? 或者如何在apache點火上分離緩存讀寫?
如下定義緩存實體ABData,並使用Streamer.add方法加載3000 ABDatas 10次。 每次我們已經加載了所有ABData之后(假設在10分鍾之后,這意味着已經將3000個ABDatas添加到了點火緩存中),運行SqlFieldQuery('select * from ABData'),所有ABDatas都會在5毫秒內返回。 但每次當3000 ABDatas仍在加載時(例如,每次加載ABData之前,我們啟動另一個線程來使用SqlFieldQuery查詢ABData),運行SqlFieldQuery('select * from ABData'),所有ABDatas在100之后返回毫秒。
public class ABData {
@QuerySqlField(index = true)
private String code;
@QuerySqlField(index = false)
private String configData;
@QuerySqlField(index = false)
private Integer categoryID;
}
很難說這里發生了什么。 我建議你調試這個問題,采取例如堆棧跟蹤並試圖找出時間花在哪里/鎖定發生的地方。
然后,您的方案可能會出現一些問題,例如創建短期服務器節點來進行數據流傳輸。 當他們來或離開時,他們將觸發重新平衡。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.