ORACLE 快速查询数据SQL语句
答案:3 悬赏:60 手机版
解决时间 2021-03-31 00:28
- 提问者网友:我是女神我骄傲
- 2021-03-30 18:03
ORACLE 快速查询数据SQL语句
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-03-30 19:36
单条匹配,没有索引也不准备建索引。只能靠并发来加快检索速度,最快的语句应该是:select * from A where b=c;理由有2:full table scan 时,oracle会一次读出多个block加快速度parallel指定并发10线程检索,当然如果允许,你指定20也可以。最好等于CPU个数。 不过还是建议在b列上建索引,这是最好的办法。
全部回答
- 1楼网友:刀戟声无边
- 2021-03-30 20:59
select count(0) from A where b=c
- 2楼网友:玩家
- 2021-03-30 20:48
没有索引是否有自增长的ID?.如果没有ID.也没有索引。那么尽量采用可转换为整形的字段作为关联或者作为查询条件。。注千:万不用要like来查.或者关联。即使要加like。 一定要作为离where最远的字段最近我也碰到个例子。数据库中。A表有200W条数据B表1800W条数据.有索引的情况下。测试了下根据索引来查 在1800W条数据中。准确查询出20条数据(因为是作为分页的) 使用了1秒左右 在200W的数据表中查询某个字段(该字段为索引) 但是使用了 where testing like '%test%'使用了前后模糊查询时间用了10秒以上。并且在分页函数月往后时间越慢在200W条数据中查询某个字段(该字段为索引)使用了后模糊 where testing like 'test%'查询时间基本是在2到10秒左右在200W的数据中(该字段非索引。nvarchar型的 但是该字段都是数字,都是可被转换为整形的)使用精确查询加模糊查询 where testing2 = test2 and testing like '%test%'使用该方法查询时间基本是在1到5秒内浮动(5秒是查最后一条数据时的情况) 但是当把where testing like '%test%' and testing2 = test2 换成这样以后查询时间和样例一是一样的。基本都在10秒以上。所以你没有索引的情况下。建议尽量采用 = 号的条件靠前。like 条件要放后面即使有索引前%test%这种查询是要避免的貌似这种事会破坏索引的。还有where 1=1的情况貌似也是会破坏索引的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯