【摘要】
存儲過程在報表開發中非常常見,其支持多步計算從而能實現更復雜的計算邏輯,但存儲過程對數據庫的影響過大,除了會造成管理和安全等問題外,對數據庫性能影響也很大;此外,存儲過程難以調試,更無法擴展和移植,現在大家更多是不得不用存儲過程。本文將介紹一種“庫外存儲過程”的新方式,既能延續原 DB 存儲過程的優勢,又能改正諸多原缺點。
【點擊下載pdf附件】:怎樣減少報表開發中對存儲過程的依賴.
參考 1: 有效減少數據庫中間表的報表開發方法
參考 2: 在報表中直接使用多樣性數據源
【摘要】
存儲過程在報表開發中非常常見,其支持多步計算從而能實現更復雜的計算邏輯,但存儲過程對數據庫的影響過大,除了會造成管理和安全等問題外,對數據庫性能影響也很大;此外,存儲過程難以調試,更無法擴展和移植,現在大家更多是不得不用存儲過程。本文將介紹一種“庫外存儲過程”的新方式,既能延續原 DB 存儲過程的優勢,又能改正諸多原缺點。
【點擊下載pdf附件】:怎樣減少報表開發中對存儲過程的依賴.
參考 1: 有效減少數據庫中間表的報表開發方法
參考 2: 在報表中直接使用多樣性數據源
平時測試,由於我們的測試數據量不夠,不能很好的測試sql性能,故寫了一個sql存儲過程腳本,可以輕鬆寫入100W+數據。 delimiter // ——
1.無返回值的執行方式: sqlserver: Db::execute('exec do_it'); mysql: Db::execute('call do_it'); 2. 有返回值的執