系统是:win 2003+oracle 10g,都是64位的系统!
我现在运行一个sql句子:
select * from tam_staff_area a,tam_staff b where a.staff_id=b.staff_id and a.area_id like '0203001%'
问题的奇怪在于如果a.area_id like '0203001%'写成一个值,比如是0203001的话就不动弹了,我查看系统的情况,发现也没有相关的表被锁住,如果这里写成其它任何值都可以很快得到结果!
我变另外一种写法,比如:
select * from tam_staff_area a,tam_staff b where a.staff_id=b.staff_id and (a.area_id like '02030010%' or a.area_id = '02030010')
也没有问题!
请问这是个什么情况?
我现在运行一个sql句子:
select * from tam_staff_area a,tam_staff b where a.staff_id=b.staff_id and a.area_id like '0203001%'
问题的奇怪在于如果a.area_id like '0203001%'写成一个值,比如是0203001的话就不动弹了,我查看系统的情况,发现也没有相关的表被锁住,如果这里写成其它任何值都可以很快得到结果!
我变另外一种写法,比如:
select * from tam_staff_area a,tam_staff b where a.staff_id=b.staff_id and (a.area_id like '02030010%' or a.area_id = '02030010')
也没有问题!
请问这是个什么情况?
解决方案 »
- 为什么分区表会入库很慢
- 刚接触Oracle数据库求一个Sql查询语句
- 数据迁移,出现数据库连接数量问题
- oracle
- 如何在Oracle中执行 *.sql 的脚本SQL语句
- 請問有沒有什麼軟件可以把oracle數據庫中的table結構表生成出來
- “select '&a' from dual;”为什么提示:输入a的值
- 9i,使用manager console,用登录到management server,在managerment server中填写了我机器的ip或机器名,用sysman/oem_temp,提示我输入
- why?
- 请问这句错在那里?
- 怎么样取2007-07-11字符串中07的值?
- 求助-一个复杂的SQL汇总查询
select * from tam_staff_area a,tam_staff b where a.staff_id=b.staff_id and a.area_id like '0203001%'
和
select * from tam_staff_area a,tam_staff b where a.staff_id=b.staff_id and (a.area_id like '02030010%' or a.area_id = '02030010')
的执行计划是否不同。
tam_staff_area和tam_staff各有多少记录?有什么索引?
反正这个问题台奇怪了!
我觉得上面有位热心人说得不错,我等会运行的时候看看"执行计划"!