【Jmeter】——Update Statement & Callable Statement & Select Statement 分析



前言


  上一篇博客講了如何測試多條sql語句


  可能某些細節沒有提到


  一般來說不太影響



  但對於像我這樣的孩子來說,某些地方會鑽一丟丟角尖

  就會感覺很彆扭,少點什麼似的


  本來今天是主講Update Statement的,正好這裏的東西也不是太多

  就順帶着和Callable Statement做個對比給客官們分析一下

  捎帶說兩句Select Statement


如果是剛剛接觸,想敲個小demo的客官,建議先看前幾篇博客:

因爲某些基本的配置,在下面不會過多闡述了,只會論其差異之處


【Jmeter】—— 程序的安裝、配置

【Jmeter】——測試簡單Sql語句

【Jmeter】——測試多條Sql語句




正文


  大概之前兩篇博客都是在說如何測試select語句

  當然這也正是我們測試sql語句時的重點


  但不能說就不知道如何測試非select語句

  現在咱們就說一說如何測試update、insert以及delete語句


基本測試


  Query Type處選擇Update Statement,在Query處寫 需要測試的語句 如下圖:



  需要提醒的是測試的sql語句時, 默 認 情 況 下 都會對數據庫進行更新的

  我沒有更改,因爲個人感覺這樣更有利於數據的觀察,在文章結尾處會給大家介紹如何修改


  下面看一下數據庫在jmeter運行前後的 數 據 表 對 照

  


測試多條 非select語句


  在 Query Type 爲 Update Statement 時,是可以 同 時 測 試 多個非select語句的,比如:



  雖然Jmeter中的響應數據顯示的是更新了一行,但其實數 據 庫 已經按照上面的sql語句改變了,如圖:

 


比較Callable Statement、Select Statement


  其實Select Statement、Update Statement、Callable Statement三者之間區別都是一點點的


放在一起對比看下,會更容易一點:

Select Statement:僅支持測試select語句,並且一次只能測試一條

Update Statement:支持測試非select語句,並且支持測試多條

         若其中夾雜select語句,自動忽略

         若第一條語句爲select語句,報錯

Callable Statement:只要語法正確,任何語句,再多的條數都能支持


最後統一說一句:在Jmeter中測試sql語句,默認會更新到數據庫,但是不像在數據庫中執行SQL語句那麼嚴格

比如:刪除某一數據時,如果數據庫中沒有改數據,而Jmeter並不會報錯



  下面給大家看個例子:


  初始狀態數據庫的數據:



  按從上到下的順序排列的兩個JDBC Request內容:

 


  Jmeter運行之後兩個Request分別對應的響應數據:

 


  最後給大家看一下,Jmeter運行之後數據庫中的數據:



更新數據庫配置修改


  在JDBC Connection Configuration的配置中


  Auto Commit爲True時,會自動提交更新到數據庫

  Auto Commit爲False時,不會更新到數據庫,不影響其他數據



結語


           九牛一毛



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章