提高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 _ _ & quot;,即使在zipcode上建立索引,在这种情况下,仍然采用顺序扫描。如果将语句改为select * from customer where zip code >:& quot;98000 & quot在执行查询时,会使用索引进行查询,显然会大大提高速度;
◆尽可能清晰地完成SQL语句,尽可能少的让数据库工作。例如,在编写SELECT语句时,需要明确指出查询字段的表名。尽量不要使用SELECT *语句。在组织SQL语句时,尽量按照数据库的习惯来组织。
关键词:SQL执行效率
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227155.html