oracle中索引的性能怎么测试,可以用什么来测试吗??
发布网友
发布时间:2022-04-07 15:15
我来回答
共3个回答
热心网友
时间:2022-04-07 16:44
在sqlplus中 登陆
create index inx_test on tableName(columName);
set timing on --开启执行时间显示
在你的实验表中差上几十万的数据
然后select * from tableName where columName=xxx;注意columnName必须是你建索引的列,否则就无意义了。--这句是引用索引的,查询后看时间。
然后 select /*full(a)*/ * from tableName a where columnName=xxx; 跟上面的查询条件要一致。这句就是HINT,强行不使用索引。看一下时间。
得出结论:索引加快了查询的速度。
再多建几个列的索引。继续试验
得出结论:索引越多不一定会越快。
热心网友
时间:2022-04-07 18:02
比如你一个人员表,假设有10w行数据
你先用不建索引,用人名查询
然后建一个人名索引,再用人名查询,
比较2者需要的时间。
热心网友
时间:2022-04-07 19:37
多表多条件的SQL语句,建立索引使得索引生效比较困难,先规定你的表的数据量,然后查询条件所得的数据不超过30%,执行计划是根据表的数据量和满足条件的数目得出的,不同的数据量和条件量得出的执行计划是不同的。
测试的话,先单条语句调试是否走索引,然后再用性能自动化工具实际跑一遍看看效果。