oracle性能优化-模糊查询

当oracle数据库数据量非常大时,使用双%的模糊查询效率会变得比较慢,因为双%的模糊查询并没有使用索引,而是用的全表扫描。而单%则使用了索引进行检索。以下是几种检索方式的效率对比,表中有800万条数据。

1.使用正则表达式进行检索

oracle性能优化-模糊查询_第1张图片

2.使用双%进行模糊查询

oracle性能优化-模糊查询_第2张图片

3.使用单%进行模糊查询

oracle性能优化-模糊查询_第3张图片

4.使用=号进行精准查询

oracle性能优化-模糊查询_第4张图片

以上4种查询都获得同样的查询结果,如下10条记录:

oracle性能优化-模糊查询_第5张图片

=======================================================

另外,当我们查询只有一条记录时,4种方式的对比如下:

1.使用正则表达式进行检索

oracle性能优化-模糊查询_第6张图片

2.使用双%进行模糊查询

oracle性能优化-模糊查询_第7张图片

3.使用单%进行模糊查询

oracle性能优化-模糊查询_第8张图片

4.使用=号进行精准查询

oracle性能优化-模糊查询_第9张图片

以上4种查询都获得同样的查询结果,如下1条记录:


================================================

总结:当我们需要模糊查询出的结果有很多个时,尽量使用单%进行检索,但当结果比较少时,几种检索方式的差异并不明显。

你可能感兴趣的:(数据库)