Oracle 大对象(LOB)类型使用性能测试

2014-11-24 18:41:51 · 作者: · 浏览: 4

硬件8c65g



数据库无lob查询io操作数大概74


数据库有lob但是不查询lob io操作大概146


数据库有lob并且查询lob io操作大概1007


通过这个结论可以看出lob是很影响表的查询性能的,如果一个张表里面有要用到lob数据类型,建议独立出一张表,这样即使查询非lob字段也不会影响查询的性能


Lob能不用尽量别用,可以用静态文件代替


详细报告如下:



查询的COST排列顺序


表无LOB字段 < 表有LOB字段但不选 < 表有LOB字段且选


下面每张表里都有1000条数据



SQL>desc prod_data2.lob_cost_test_0


Name Null Type


------------------------------------------------- ----------------------------


ID NUMBER


TEXT VARCHAR2(1000)


FULLTEXT CLOB



SQL>desc prod_data2.lob_cost_test_1


Name Null Type


------------------------------------------------- ----------------------------


ID NUMBER


TEXT VARCHAR2(1000)




selectid, text


from


prod_data2.lob_cost_test_1




call count cpu elapsed disk query current rows


------------- -------- ---------- ---------- ---------- ---------- ----------


Parse 1 0.00 0.00 0 1 0 0


Execute 1 0.00 0.00 0 0 0 0


Fetch 68 0.00 0.00 0 73 0 1000


------------- -------- ---------- ---------- ---------- ---------- ----------


total 70 0.00 0.01 0 74 0 1000



selectid, text


from


prod_data2.lob_cost_test_0




call count cpu elapsed disk query current rows


------------- -------- ---------- ---------- ---------- ---------- ----------


Parse 1 0.00 0.00 0 1 0 0


Execute 1 0.00 0.00 0 0 0 0


Fetch 68 0.00 0.00 0 145 0 1000


------------- -------- ---------- ---------- ---------- ---------- ----------


total 70 0.00 0.00 0 146 0 1000




selectid, text, fulltext


from


prod_data2.lob_cost_test_0




call count cpu elapsed disk query current rows


------------- -------- ---------- ---------- ---------- ---------- ----------


Parse 1 0.01 0.04 1 1 0 0


Execute 1 0.00 0.00 0 0 0 0


Fetch 1001 0.02 0.05 3 1006 0 1000


------------- -------- ---------- ---------- ---------- ---------- ----------


total 1003 0.04 0.10 4 1007 0 1000