oracle数据库优化
这篇博客通过查看了其他博客优化解决的方法然后自己阅读进行筛选,从而写下这篇博客。
1.选取最适合的字段属性
正所谓人靠衣装,佛靠金装,数据库字段也是要穿上适合他们的“衣服”,数据库可以支撑大量的数据的存取,但是一般来说,数据库的表越小,那么在它上面的查询也会越来越快。因此,我们在创建表的时候,尽可能的创建字段属性小,选择一件最适合的衣服。
这里举一个例子,邮政编码作为字段时,我们都明白邮政编码是由固定的六位数来进行分辨的。所以我们就没必要用char(20)来赋予字段属性,因为他没必要创建这么大的空间,也没必要用varchar(6)来定义字段属性,因为在数据库查询的时候,我们知道定长字符查询效率高于变长字符,所以在创建表的同时选取最适合的字段属性,穿上最适合他得“衣服”。
2.使用连接(join)来代替子查询
在查询的时候我们往往依靠着子查询去作为过滤条件用在其他查询从而确认或取消父级查询的候选行。使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或则表锁死,并且写的语法也比较容易。但是在有些情况下,连接(JOIN)替代子查询可以优化查询的效率,因为数据库不需要在内存中创建临时表来完成这个逻辑上的需要两个步骤的查询工作。
3.使用联合(UNION)来代替手动创建的临时表
联合(UNION)可以把需要使用临时表的两个查询语句联合起来合并在一个查询中。在查询会话结束的时候