四 索引与分页--怎么样SQL运行的更快
正确的使用索引
Where条件落在索引上
不要在where的=前使用函数,否则无法使用索引
Is Null可能无法使用索引
不正确的隐式转换可能不能使用索引
如果能在索引获得数据,就不要回表
如果是复合索引,注意第2个字段以后,可能使用不到索引
正确的使用hint
如果有别名,一定要有别名
格式如/*+ index(t index_name) */
无需回表查询的分页写法
存在以下表T1(A,B,C,D) T1上有索引字段(B,C) .如果只是查B,C两个字段则:http://windonly.iyunv.com/Images/OutliningIndicators/None.gif select *
http://windonly.iyunv.com/Images/OutliningIndicators/None.gif from ( select tt.b, tt.c, rownum as rn
http://windonly.iyunv.com/Images/OutliningIndicators/None.gif from ( select t.b, t.c from t1 t where c = 2 order by t.c) tt
http://windonly.iyunv.com/Images/OutliningIndicators/None.gif where rownum < 3 )
http://windonly.iyunv.com/Images/OutliningIndicators/None.gif where rn > 1
需回表查询的分页写法
select /* + ordered use_nl(t,t1) */
*
from ( select rid from (
select rownum rn,rid from (
select rowid rid from t1
where c = 2
order by c desc )
where rownum <= 50 )
where rn >= 1 ) t,
t1
where t.rid = t1.rowid;
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com