oracle里面尽量少用and or 和union 、union all 底层是怎样对数据库进行查询的?

oracle里面尽量少用and or 和union 、union all 底层是怎样对数据库进行查询的?,第1张

http://blog.csdn.net/helloboat/article/details/42418131

这里有几篇日志是相关的。可以参考参考

我是这样理解的,可能也不对但是可以参考一下

and:oracle 先查找满足and 之前的,然后扫描and之后的条件。大概需要扫描两遍或者以上。

or:那么扫描次数更多了。满足or之前,扫描全表一次;满足or之后,一次;同时满足又一次。

union:只是联合查询而已,根据索引来找,挺快的,几乎耗费不了多少时间。

懂用就行了,还需要知道底层啊,这个假如你的专业不是这方面的不必深究

Oracle数据库包括一个逻辑层和物理层,物理层包括Oracle磁盘上的文件, 逻辑层用来映射数据和物理层的文件。逻辑层包括一下元素:一个或者多个表空间。数据库Schema: 包括表,集群,索引,视图,存储过程,数据库触发器和sequences.

在oracle中主键是不能自增的,不过可以创建一个序列

-- Create sequence

create sequence SEQ_TEXT

minvalue 1

maxvalue 9999

start with 60

increment by 1

cache 20

在插入数据的时候

INSERT INTO STUDENT(ID,NAME) VALUES(SEQ_TEXT.NEXTVAL,'张三')

这样就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9952660.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存