[發明專利]一種等價SQL語句性能的測試方法、計算機裝置及計算機可讀存儲介質有效
| 申請號: | 202010083842.3 | 申請日: | 2020-02-10 |
| 公開(公告)號: | CN111290929B | 公開(公告)日: | 2023-06-27 |
| 發明(設計)人: | 杜偉業;江華 | 申請(專利權)人: | 珠海圖思科軟件有限公司 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34;G06F16/242 |
| 代理公司: | 珠海智專專利商標代理有限公司 44262 | 代理人: | 林永協 |
| 地址: | 519085 廣東省珠海市高新*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 等價 sql 語句 性能 測試 方法 計算機 裝置 可讀 存儲 介質 | ||
本發明提供一種等價SQL語句性能的測試方法、計算機裝置及計算機可讀存儲介質,該方法包括獲取多條待測試的等價SQL語句;獲取每一條SQL語句的執行計劃成本,按照每一條SQL語句的執行計劃成本將多條SQL語句劃分為多組;獲取一條SQL語句的執行時間作為基準執行時間;輪流從每一組SQL語句中獲取預設數量的SQL語句進行測試,如當前測試的SQL語句的執行時間超過基準執行時間,則終止當前SQL語句的測試;如當前SQL語句的執行時間小于基準執行時間,則以當前SQL語句的執行時間作為新的基準執行時間;在SQL語句測試完畢后,確定執行時間最短的SQL語句。本發明還提供實現上述方法的計算機裝置及計算機可讀存儲介質。本發明可以縮短等價SQL語句性能的測試時間。
技術領域
本發明涉及計算機程序的測試的技術領域,具體地,是一種等價SQL語句性能的測試方法以及實現這種方法的計算機裝置、計算機可讀存儲介質。
背景技術
結構化查詢語言(Structured?Query?Language,簡稱SQL)是一種特殊目的編程語言,即SQL語言是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。通常,使用SQL編程的程序具有多條SQL語句,按照設定的順序執行多條SQL語句將實現特定的數據查詢功能。
SQL語句的性能對于數據庫和應用系統的性能至關重要,對于有性能問題的源SQL語句,人手或者計算機可以產生很多語義等價的SQL語句,而不同的SQL語句的執行成本與執行時間不盡相同,因此,人們需要對這些語義等價的SQL語句進行測試,以找出性能最好的SQL語句來代替源SQL語句。由于每一條SQL語句執行時都需要占用一定的內存資源、CPU資源等,SQL語句執行過程中占用的硬件資源就是該SQL語句的執行成本。編程人員在設置每一條SQL語句后,可以估算該SQL語句執行的成本,估算的執行成本就是執行計劃成本。在實際執行時,每一條SQL語句的實際執行成本與執行計劃成本可能會有差異,但通常差異不大。
人們通常希望以最短時間、最節省的資源執行SQL語句,因此需要對SQL語句進行測試,以從多條等價的SQL語句中查找出執行時間最短、占用資源最少的SQL語句。但是,執行計劃成本最低的SQL語句往往未必就是執行時間最短的SQL語句,因此,通常需要對所有的等價SQL語句進行測試,查找出執行時間最短的SQL語句來替代源SQL語句。
對SQL語句進行測試時,通常按照各條SQL語句的執行計劃成本從低到高進行測試,即先測試執行計劃成本最低的SQL語句,將第一條SQL語句的執行時間作為基準執行時間,然后對后續的SQL語句進行依次測試,如果后續的SQL語句執行時間超過基準執行時間,則終止該條SQL語句的測試,即不繼續執行該條SQL語句。如果后續的SQL語句實際執行時間小于基準執行時間,則將當前測試的SQL語句的實際執行時間作為新的基準執行時間,并標記當前測試的SQL語句。如此操作,當所有的等價SQL語句測試完畢后,基準執行時間對應的SQL語句就是執行時間最短的SQL語句。
例如,測試執行第1條SQL語句結束后,第1條SQL語句的執行時間是30秒,該時間將作為最快的SQL語句的執行時間,也就是基準執行時間。然后測試執行第2條SQL語句,如果第2條SQL語句的執行時間超過30秒,將終止第2條SQL語句的測試,此時基準執行時間仍是30秒。如果測試執行第2條SQL語句的時間是10秒,則此時將基準執行時間更新為10秒。接著測試執行后續的SQL語句,直到所有等價的SQL語句測試完畢。
但是,有時候執行計劃成本高的SQL語句比執行計劃成本低的SQL語句的執行時間短,因此,按執行計劃成本升序來執行多條等價SQL語句的測試,并不是縮短等價SQL語句測試執行時間的最好方法。
發明內容
本發明的主要目的是提供一種縮短等價SQL語句測試時間的等價SQL語句性能的測試方法。
本發明的另一目的是提供一種實現上述等價SQL語句性能的測試方法的計算機裝置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于珠海圖思科軟件有限公司,未經珠海圖思科軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010083842.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種二維范德華異質結及其應用
- 下一篇:一種柔性材料對齊裝置及其控制方法





