关于oracle索引的问题,谁答上有重赏!!!!!!!!!!
语句1:select * from table where key like '%search% '
语句2:select * from table where key like 'search% '
执行语句1的时候是全字段搜索,而执行语句2的时候是按照索引key来搜索
哪位高手能告诉究竟是怎么回事?
怎么才能解决????????????
------解决方案--------------------在Oracle中,当fld_name字段已被索引过,对like 'fld_value% '条件进行索引查询,
而对like '%fld_value% '进行全表扫描。其实这样的查询方案完成可以想像出来,对
like 'fld_value% '可以利用索引进行快速定位,而对like '%fld_value% '则只能通过
全表扫描来确定符合条件的数据。所以我们可以在基于Oracle索引规则的基础上进一步
理解这两种方式的查询计划为什么不同。
------解决方案--------------------简单一点的说,翻字典,现在我知道我想查的汉字的声母,很容易就可以在目录部分找到该汉字的拼音,继而找到该汉字所在的页;如果我只知道汉字的拼音的一部分,就需要查询整个字典来查找;
索引的效果就如同字典的目录