有2个表 A,B,A有2000多W的数据,B表有900多W的数据,主键是a.id,b.id 索引建立的(dengluhao,bianma)
select * from a,b where a.dengluhao=b.dengluhao and a.bianma=b.bianma
但是查询速度很慢,怎么优化下
select * from a,b where a.dengluhao=b.dengluhao and a.bianma=b.bianma
但是查询速度很慢,怎么优化下
调试欢乐多
hash join
indeexfast full scan
indeexfast full scan
如果单独为了加快这个查询速度,可以采取ORACLE并行来查询,如果返回的结果集是很小的,这样就不建议了。
另外,可以通过优化一下ORACLE的环境以及参数,可能会有点帮助,不过,如果这个是一个生产裤,而且里面挂了很多用户,这样就不要随便修改。
希望对你有点帮助。
/*+ parallel(TABLE 4) */
如果是测试环境,可以考虑分区存储
show parameter optiNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
filesystemio_options string none
object_cache_optimal_size integer 102400
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 10.2.0.1
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_mode string ALL_ROWSoptimizer_secure_view_merging boolean TRUE
plsql_optimize_level integer 2
SQL>[/code]也可以使用hint