關於自訂函數導致SQL查詢過慢的解決方案,函數sql

來源:互聯網
上載者:User

關於自訂函數導致SQL查詢過慢的解決方案,函數sql

在做報表的過程中,有一張報表是要查詢對應幣種的匯率,而匯率在另外一張表中,而查詢匯率的條件是根據報表的統計日期(頁面傳入的參數),去匯率表中查詢該統計日期的上一個月的匯率,如果沒有上個月的匯率,則查詢最新的對應幣種的匯率,因此,自訂了一個擷取匯率的函數,放在SQL中,其傳入的參數為對應的幣種代碼和統計日期,這樣,此函數就沒有辦法建立函數索引,這樣導致查詢結果很慢,150萬的資料匯出要10多分鐘。

後來做了改進,由於統計日期確定後,其對應的匯率也就確定了,因此另建一張匯率表,其存的匯率就是我們想要的匯率,我們在頁面查詢的時候執行預存程序,將我們想要幣種和對應的匯率存入該表即可。

我們在SQL語句中只需查詢該表中的對應幣種的匯率即可,而不再需要調用擷取匯率的函數了,這樣速度就快了很多,時間縮短了將近一半。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.