这样的表在姓名字段建索引?
SELECT * FROM TABLE A WHERE A.NAME LIKE '%D'
LIKE '%F%'
LIKE 't%'
都将不会使用name字段上的索引,这楼主可以从测试计划中看出,而且在模糊查询中如果用了计算公式如instr substr等都将不会使用索引.
SELECT * FROM TABLE A WHERE A.NAME LIKE '%D'
LIKE '%F%'
LIKE 't%'
都将不会使用name字段上的索引,这楼主可以从测试计划中看出,而且在模糊查询中如果用了计算公式如instr substr等都将不会使用索引.
解决方案 »
- PL/SQL 数据库里如何导出数据?
- [求助]ORACLE中使用 Database link 怎么查询连接库里的序列值?
- 大家帮忙给解决一下这个查询的问题吧..
- 关于删除数据库中的记录的一个问题(在线等)
- oracle删除check约束
- 新手,求教
- 怎样在sql*plus中运行带参数的存储过程?
- 为什么我登陆DBA或OEM时,连接的服务是主机名,不是SID或其他。
- 绝顶高手请进,先给这些,成事后开新贴加300,还不够再加
- 怎样可以将mysql里新增的表和数据自动增加到oracle里
- Oracle数据库下,如何有效控制用户查询权限
- 如何在一个表上创建一个这样的自增字段,如:2004-0001,2004-0002....2005-0001...
就做成‘索引组织表’。
在func(姓名)上建立主索引。
递增字段做个唯一索引保证唯一性就行了。自定义的func()函数输入姓名,输出姓名的拼音。
这样就可以按照姓名的拼音来搜索了。再就是尽量不要在like参数中使用前导通配符,例如: '%abc',
如果不得不经常使用,就建立反转索引。it's all