2012-10-10 98 views
1

我一直在考慮這個問題作爲mySQL數據庫中大量數據集的開發可視化。我應該過濾我的數據在SQL中的d3或JS

我的當前代碼在頁面加載時運行php SQL查詢,將其轉換爲JSON,並將其存儲在一個JavaScript變量中供以後由d3使用以進行可視化。

在可視化過程中,我需要使用該數據,但也要過濾掉結果或執行某種類型的量化或分檔。

是更好地在PHP網頁加載運行多個SQL查詢,並將結果保存到多個JavaScript變量(因此讓SQL做的工作)

或...

我是否繼續什麼我正在做,並通過for循環的JavaScript數據運行,拉出我需要的過濾數據。

謝謝!

回答

1

使用SQL來完成它應該爲響應更快的應用程序所做的工作,並且是IMO的「正確」位置。數據層,而不是表示層排序的東西。

+0

那麼如果UI上的控件需要某些過濾(如滑塊來裁剪數據或過濾掉結果)會怎麼樣?發射ajax查詢,稍後接收響應,然後使用新的ajax結果刷新數據會更有益嗎? – Jonathan

+1

一個很好的問題;我認爲這開始將您帶入平衡UI響應區域的棘手領域 - 初始負載較長,「數據調整」響應時間較快,初始負載較快,以及在重新加載不同數據範圍時的較短延遲。我的答案是:這取決於。在可能的情況下設計用戶界面,以便清楚控制是否是對已經加載的數據的次要過濾器,或是大量的重新加載操作。請記住可能的客戶限制,例如內存小的電腦速度慢可能無法處理如此大的數據? – Brian

0

您可能會收到crossfilter.jsdc.js

這兩個庫都使用高度優化的Javascript在客戶端進行篩選,並讓您快速創建基於交互式篩選器的儀表板。