JAVA MySQL性能測試

測試目的

使用 JAVA 語言對數據庫進行增刪改查功能,驗證是否能夠達到預期的性能指標。

測試環境

平臺:Win10 x64 操作系統
數據庫:Navicat for MySQL,此數據庫蘋果,谷歌,微軟,阿里等知名公司都有使用。
開發環境:IntelliJ IDEA,業界公認最好的 Java 開發環境。

測試指標

  • 首先創建數據庫並與開發環境進行關聯,使之開發環境能夠對數據庫進行操作。
  • 向數據庫中插入 150w 條數據,使用數據庫 Select 語句進行多條件查詢。
  • 條件匹配 5 項字段值,查詢一條需要花費的時間在 50ms 以內。
數據庫操作 耗時(ms) 記錄 SQL 語句
插入150w條數據 2.6 h 在這裏插入圖片描述在這裏插入圖片描述 INSERT INTO table_b_bul(FULLNAME,ISCONTENT,COMTYPE,COMDUR) VALUES(“張三”,“是”,“1”,1)
匹配一項字段值 第一次 165ms,後續 4ms左右 在這裏插入圖片描述在這裏插入圖片描述 SELECT * FROM table_b_bul WHERE ID=1000000
匹配兩項字段值 第一次167ms,後續5ms左右 在這裏插入圖片描述在這裏插入圖片描述 SELECT * FROM table_b_bul WHERE ID=1000000 AND FULLNAME = ‘張三’
匹配三項字段值 第一次175ms,後續5ms左右 在這裏插入圖片描述在這裏插入圖片描述 SELECT * FROM table_b_bul WHERE ID=1000000 AND FULLNAME = ‘張三’ AND COMTYPE = '999994’
匹配四項字段值 第一次163ms,後續5ms左右 在這裏插入圖片描述在這裏插入圖片描述 SELECT * FROM table_b_bul WHERE ID=1000000 AND FULLNAME = ‘張三’ AND COMTYPE = '999994’AND COMDUR = 999994
匹配五項字段值 第一次 182ms,後續 5ms左右 在這裏插入圖片描述在這裏插入圖片描述 SELECT * FROM table_b_bul WHERE ID=1000000 AND FULLNAME = ‘張三’ AND COMTYPE = '999994’AND COMDUR = 999994 AND ISCONTENT = ‘是’
添加時間索引查詢 平均時間 5 ms 在這裏插入圖片描述在這裏插入圖片描述 SELECT * FROM table_b_bul WHERE FULLNAME = ‘張三’ AND COMTYPE = '1579693’AND COMDUR = 1579693 BETWEEN ‘2020-02-28 11:18:44’ and ‘2020-02-28 11:18:54’
不添加索引查詢 平均時間 1500ms 在這裏插入圖片描述 SELECT * FROM table_b_bul WHERE FULLNAME = ‘張三’ AND COMTYPE = '1579693’AND COMDUR = 1579693 BETWEEN ‘2020-02-28 11:18:44’ and ‘2020-02-28 11:18:54’

測試分析

  • 向數據庫中插入 150w 條數據耗時 2.5h,對比於 c 語言插入數據是比較慢。
  • 根據數據庫字段 ID 查詢,匹配 1 個條件與匹配 5 個條件第一次查詢耗時在 165ms左右,再次進行多次查詢耗時 5ms 左右,第一次耗時原因是連接超時並加入緩存。
  • 查詢條件不加入 ID 主鍵,匹配 1- 5 項條件,平均查詢時間 1500ms。
  • 查詢條件不加入 ID 主鍵,時間字段添加索引,查詢時間範圍內中一條數據,查詢速度大幅度提高,查詢平均時間 4ms 左右。
  • 另測同時插入與查詢實際場景操作,得出結果插入操作並不影響查詢速度,查詢時間幾乎保持不變。
  • 綜上,數據庫的 5 項匹配條件查詢一條數據,完全在 50ms 之內,符合測試指標。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章