初学者必读:提高SQL执行效率的几点建议

初学者必读:提高SQL执行效率的几点建议,第1张

初学者必读:提高SQL执行效率的几点建议,第2张

提高SQL执行效率的建议;

◆尽量不要在where中包含子查询;

关于时间的查询尽量不要写成:where to _ char (dif _ date,' yyyy-mm-DD ')= to _ char(' 2007-07-01 ',' yyyy-mm-DD ');

◆筛选条件中,能筛选出数量记录的条件必须放在where子句的末尾;

将首先处理FROM子句中写入的最后一个表(驱动表)。如果FROM子句包含多个表,则必须选择记录数最少的表作为基本表。如果有三个以上的连接查询,则需要选择交集表作为基表,引用其他表引用的表;

◆使用绑定变量。

◆尽量不要使用或放在哪里

◆用EXISTS和NOT IN替换IN;与不存在;

◆避免对索引列使用计算:其中sal * 12 > 25000

◆用IN代替or:其中loc _ id = 10或loc _ id = 15或loc _ id = 20

◆避免使用IS NULL和IS NOT NULL在索引列上;

◆始终使用索引的第一列;

◆用UNION-ALL替换Union;

◆避免更改索引列的类型:选择...from EMP where empno =' 123 ',因为隐式数据类型转换,to_char(EMPNO)='123 ',因此,不会采用index,一般出现在动态SQL语句被字符串拼凑的时候;

◆'!不会使用“=”索引;

◆优化分组依据;;

◆避免带有相似参数的通配符。LIKE '4YE% '使用索引,但LIKE '%YE '不使用索引。

◆避免使用复杂的正式表达式,例如select * from customer where zip code like“98 _ _”。即使索引建立在邮政编码上,在这种情况下,仍然采用顺序扫描。如果语句改为SELECT * FROM CUSTOMER WHERE ZIP CODE >“98000”,执行查询时将使用索引进行查询,显然会大大提高速度;

◆尽可能清晰地完成SQL语句,尽可能少的让数据库工作。例如,在编写SELECT语句时,需要明确指出查询字段的表名。尽量不要使用SELECT *语句。在组织SQL语句时,尽量按照数据库的习惯来组织。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 初学者必读:提高SQL执行效率的几点建议

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情