Jac*_*Dev 3 sql database oracle
我目前在我的SQL中使用lower()函数.
根据此线程,在列上使用lower()将导致全表扫描: 避免全表扫描
有没有办法防止这种情况或最小化扫描的影响?我正在使用Oracle 10.
我的Sql:
select * from USER u where lower(u.USERNAME) = lower(?)
Run Code Online (Sandbox Code Playgroud)
如果您总是使用小案例进行搜索,则可以在大小写降低的用户名上创建索引,就像我在此演示中所做的那样.
这里是我演示的语法:
CREATE TABLE t1
(username varchar2(4))
;
CREATE INDEX t1_idx ON t1(lower(username));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |