軟件性能測試的問題分析和總結[2] 性能測試工具
3.冗余字段的優化
select 。。。 from A where 。。。。比如 where 條件查詢的字段的長度較大,創建索引效果后不明顯,考慮增加了冗余的字段,進行標識,結合在冗余字段上創建索引會比較快。
4.分頁算法,遇到的狀況也比較混亂。。。。。好的分頁算法要推廣,公用。
三、查詢結果集過大
返回全部的數據(建議從業務角度出發,分析返回全部的數據是否必要)
空查詢(默認條件查詢)
不規范的查詢(where 1=1)
1.查詢結果集(建議從業務角度優化系統)
建議參考淘寶的一篇帖子
http://rdc.taobao.com/blog/dba/html/187_optimize_from_business.html
2.空查詢(默認查詢造成壓力比較大,其實空查詢可能是沒有必要的)
建議頁面增加默認過濾條件
3.Where 1=1
a、性能上的影響(可能會影響orale的查詢計劃)
b、安全性的影響
create table A tablespace tbs_temp as select * from B where 1<>1 軟件測試
create table A as select * from B where 1<>1
Sybase不支持這樣的語法,但是有:
select * into A from B where 1 <> 1
where 1 <> 1 ,復制表的結構,但注意這樣沒有主鍵
4.不規范的查詢sql很多,建議多參考部門的相關規范,從規范的角度出發去發現問題。
四、復雜查詢sql (大數據量測試)
復雜查詢sql一定在大數據量下進行測試
結合操作和sql本身效率進行測試。
建議多與DBA配合
如果你只使用小表進行測試(比如小于100條數據),那么在真實數據下會異常緩慢直至停滯。Sql的例子就不列出了,比較多,通常對于多表聯合查詢,復雜的sql都要在大數據量下測試。其實越復雜的東西越難維護和優化,建議對系統中復雜的sql都記錄下來,可能是性能隱患。
五、數據庫連接池
未使用連接池,應用程序在建立數據庫連接上消耗的時間較長,影響性能效率。
連接池配置參數不當(通過測試確定合適的值)
文章來源于領測軟件測試網 http://www.kjueaiud.com/