最近公司希望將企業系統中的多個表的查詢欄位變成用戶自定義組合查詢,這意味著用戶可以隨機選擇十張表中的任意n個欄位進行組合查詢,而且呈現的結果只包含用戶選的這n個欄位,同時還希望優化查詢性能,考慮過用臨時表,但是臨時表也是要確定欄位才可以實作,有什么其他方法可以實作嗎?
uj5u.com熱心網友回復:
我是做資料庫服務售前的。你這個問題看起來好像挺復雜,我可以幫你問一下我們的專業工程師,但是如果過于復雜的話就不能免費幫你解決了。。。所以看你嘍,有需要聯系我uj5u.com熱心網友回復:
個人覺得,要觀察一段客戶的操作時間,統計一下哪些表的欄位容易被讀取,組合成一個臨時中間表,并根據查詢的頻率,設定快取的時間和長度,總之,就是根據用戶的操作,把最好的資源分給最需要的操作uj5u.com熱心網友回復:
考慮性能,不建議用臨時表,用既有的表,表的索引可以優化查詢效率,其實效率主要不在選的欄位,而在于定義的where條件,所以對可能存在的where條件的列建立好索引是提高查詢效率的好方法;至于自定義查詢的實作方法無非是動態拼sql,用戶點選的列及表都是可以獲取到的,這個細心點組織下sqlstring都能實作,無須贅言。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/82505.html
標籤:高級技術
