一个SQL(ORACLE)的优化问题 SQL:select * from table where column1 like '%AAA'因为这张表数据量很大,所以效率很低,现在在不改变SQL逻辑的情况下有什么好的解决方案,COLUMN1字段值是没有规律的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、為column1創建索引2、select * from table where substr(column1,-3,3) = 'AAA' skyinfo(tiger) ( ) 信誉:100 2007-08-02 17:24:02 得分: 0 1、為column1創建索引2、select * from table where substr(column1,-3,3) = 'AAA' 顶LS, 建议 SELECT * 改成 COL1, COL2,...要好一些 为COLUMN1创建索引,而LIKE不会使用索引。所以最好为substr(column1,-3,3)创建函数索引 不好意思,可能我意思没说清楚,AAA是个动态变化的。位数没法定,我知道左模糊不能用该字段索引,所以问下有没有其他解决方案 需要你自己去研究ORACLE TEXT相关,那是关于模糊查询的。效率感觉还可以。 增加了一个字段column2,就是原字段的到过来的,然后写select * from table where column2 like 'AAA%',当然你也必须把参数也倒一下。 推荐超好用实用的Oracle工具 - Oracle SQL Handler 请问哪位有oracle函数库的帮助文档呀.chm格式的 哪位高手帮下小弟,何实现oracle每天自动备份数据!! 非常简单的一条sql语句 oracle序列的相关问题,还请大家多多指教. sqlserver语句换成oracle 用SYSTEM登录不上去的问题 关于无效日期字符串的转换问题 完了,我误删了一些数据,能不能恢复啊 菜鸟求救(二) 如何在oracle数据库中执行时间的查询? plsql不响应问题 跪求timestamp时间问题,高手路过请进,在线急等.
1、為column1創建索引2、select * from table where substr(column1,-3,3) = 'AAA'
顶LS, 建议 SELECT * 改成 COL1, COL2,...要好一些
所以最好为substr(column1,-3,3)创建函数索引
效率感觉还可以。
select * from table where column2 like 'AAA%',
当然你也必须把参数也倒一下。