DELETE 比 SELECT 執行速度慢的測試報告
問題:
發現delete的速度不如select的速度快。
分析: 導致delete速度慢的原因有很多,比如:
1.寫大量回滾段,在RAID5上,寫回滾段速度相對更慢,因為需要寫校驗位。
2.外來鍵影響
3.線上使用者訪問過多,可以檢視v%session_wait
4.沒有表分割槽
實驗:
基礎環境建設:
建立tom使用者的表空間:
create tablespace tom datafile '/opt/ora10g/oradata/jssbook/jssbook/tom01.dbf'
size 50m
autoextend on
next 32m maxsize 2048m
extent management local;
確定建立成功:
select name from v$datafile where name like '%tom%'
建立tom使用者:
create user tom identified by "123456"
default tablespace tom
profile default
account unlock;
給使用者授權:
grant dba to tom
檢視臨時表空間:
select * from v$tempfile
注:建立時沒有宣告,則用預設表空間。
檢視test表大小:
select segment_name, bytes
from user_segments
where segment_type = 'TABLE';
檢視test資料量:
select count(*) from test
向test表中注入資料:(該語句執行了N遍,不停地刷,不停地刷,最後達到150萬條資料之後進行下一步---delete)
insert /* +append */ into tom.test select * from all_objects
刪除表中資料:
delete from test;
下面是監控語句,這些語句分別在剛注入150萬條資料之後執行了一下,抓了下狀態,然後又在執行過程中抓了一下。(只抓取相應變化比較大的欄位)
1.檢視回滾段資訊(tom使用者使用)
select * from V$ROLLSTAT
刪除之前資訊:
刪除之後資訊:
2.檢視回滾段的統計資訊:
SELECT n.name, s.extents, s.rssize, s.optsize, s.hwmsize, s.xacts, s.status
FROM v$rollname n, v$rollstat s
WHERE n.usn = s.usn;
刪除之前資訊:
刪除之後資訊:
3.檢視回滾段使用者徵用情況:
SELECT s.username, u.name
FROM v$transaction t, v$rollstat r, v$rollname u, v$session s
WHERE s.taddr = t.addr
AND t.xidusn = r.usn
AND r.usn = u.usn
ORDER BY s.username;
只有一個使用者使用回滾段:
結論:
用delete刪除確實產生了大量回滾段,是造成delete速度慢的因素之一。
其他原因正在補充中ing... 歡迎多多討論!~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20802110/viewspace-1063226/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- httprunner(11)執行測試報告HTTP測試報告
- 關於刪除表資料時速度慢的測試報告測試報告
- jmeter無圖形介面執行測試並生成報告JMeter
- 資料庫執行效率的對比測試資料庫
- Jumper 測試報告測試報告
- 雲測試報告測試報告
- Redis測試報告Redis測試報告
- Bacula測試報告測試報告
- Allure測試報告測試報告
- SAP下載報表速度慢?為啥你不試試python多執行緒Python執行緒
- drbd的效能測試報告測試報告
- 測試計劃和測試報告測試報告
- 執行 測試
- TDengine 和 InfluxDB 查詢效能對比測試報告UX測試報告
- pytest+allure 生成測試報告,如果保留同一個測試用例的多次執行的日誌資訊。測試報告
- 2017測試行業狀況報告行業
- 測試總結報告
- redis效能測試報告Redis測試報告
- Green Plum測試報告測試報告
- 滲透測試報告測試報告
- 軟體效能測試報告應該包含的內容,效能測試報告需要多少錢?測試報告
- Cypress系列(41)- Cypress 的測試報告測試報告
- 輸入測試報告的步驟測試報告
- 軟體測試--缺陷報告
- 高顏值測試報告- XTestRunner測試報告
- 雲服務測試報告測試報告
- toad 9.0 測試報告測試報告
- Green Plum測試報告薦測試報告
- 關於四種獲取當前執行方法名稱方案的基準測試報告測試報告
- 有必要進行第三方軟體測試機構安全測試嗎?安全測試報告如何報價?測試報告
- 軟體安全測試報告怎麼編寫?出具測試報告的權威軟體檢測機構測試報告
- 軟體驗收測試 常見測試報告的型別測試報告型別
- A/B 測試:概念 ≠ 執行
- java執行緒測試Java執行緒
- 軟體安全測試報告怎麼編寫?安全測試報告價格貴嗎?測試報告
- 移動app效能測試有哪些需要進行?效能測試報告如何收費?APP測試報告
- 並行執行的學習與測試並行
- 線上抽獎系統的測試報告測試報告