集算器跨庫計算能力解決報表內計算慢的問題

2021-07-30 04:05:28 字數 384 閱讀 3691

多年前開發了一套報表,當時的多資料集(涉及一報表從多庫關聯取數) 在報表內計算是通過select函式加條件的方式實現 關聯取數。

如報表內關聯取數

類似d2的單元格涉及50幾列

在報表內如上遍歷式方式取數,複雜度可以說是平方級的,速度極慢。

但,目前採用集算器進行優化,利用集算器的跨庫關聯計算能力,能將多資料集輕鬆合併為乙個資料集, 那麼消除了在報表內遍歷過濾取數的方式,報表的計算速度將極大提高。

報表僅乙個資料集,報表內就不用多資料集間關聯遍歷取數了

從實際的環境測試,原報表從取數到計算結束呈現需2分半鐘(150秒左右), 用集算器處理資料集後 時間為10秒左右。 

總結:集算器對多資料集關聯處理,優於報表中的遍歷方式,複雜度由平方級降為線性級。

巧用集算器資料集

看如下圖所示報表 這個報表從樣式來看,可以看作是乙個簡單的網格式報表,統計著各種收支金額,但因為取數複雜,每個格仔的資料都來自乙個複雜的 sql 資料集,並且涉及十幾個,乃至幾十個資料集,藍色 區域裡每個格仔都需要從各自的資料集裡檢索遍歷,查詢與左表頭關聯的記錄。為了方便體會這一點,我們將上圖報表簡...

跨伺服器跨庫跨表查詢,並合併結果集

今天遇到客戶乙個需求,就是介面獲取結果的時候,需要去2個庫里取結果,而且會存在專案結果的編碼重號,專案名稱不一致的情況,最後討論來討論去決定用合併結果集檢視在乙個資料連線內,給不同的結果 的編碼加字首來解決。接下來就遇到需要跨伺服器跨庫跨表合併結果集的問題,下面是sql處理方法,記錄一下以免後期忘記...

用集算器編寫算二十四

算24點,是一種常見的智力遊戲。它可以使用抽去大小王的撲克牌來玩,隨便抽出4張牌,要求通過加 減 乘 除等四則運算,並使用所有的這4個數,將結果算為24。在撲克牌中,jqk記為11,12和13。用集算器,可以比較方便地編寫程式,根據隨便給定的4個數,計算出這個遊戲的解答 下面,詳細分析一下這段 計算...