對於超過 100 萬行的資料表,資料篩選速度非常慢。
需要幾秒鐘時間
- 在資料篩選器中啟動新列
- 在過濾器中輸入文字:每個字元需要幾秒鐘!
- 刪除篩選器中的字符
為什麼?
new table("test", add rows(2000000), new column ("col",Character, Set each value(Char(random integer(2000000)))))
您好@hogi ,感謝您報告並花時間展示您遇到的延遲問題。我們已經意識到這個問題,並正在努力改進未來 JMP 版本中針對行數較多的表的效能。這可能需要多個版本才能完成(效能改進需要時間和測試,以確保不會出現任何回歸問題),因此請您合理預期。謝謝!
JMP技術支援。
聽起來不錯。
有趣的是:這是資料篩選器中的條目數量。
如果「索引」欄位包含超過一百萬筆記錄,那麼在資料篩選器中使用此索引時,肯定會遇到速度問題。
對於資料篩選器中只有 20000 筆記錄的資料表(與表格中的行數相同),不存在問題:
new table("test", add rows(2000000), new column ("col",Character, Set each value(Char(random integer(20000 // was: 2000000
)))))
有趣且令人驚訝:
使用輔助列進行預選會有所幫助。在問題修復之前,這可以作為一種臨時解決方案:
使用第二列,內容為原列的縮短版本。
new table("test", add rows(2000000), new column ("col_long",Character, Set each value(Char(random integer(2000000)))),
new column ("col_short",Character, set each value(left(:col_long,3)))
)
雖然剛開始可能不太習慣,但比使用單列要快得多:
[開啟和關閉「條件」模式時,以相同的速度輸入「54321」]