易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL 优化技巧

1 避免无计划的全表扫描
  如下情况进行全表扫描:
-          该表无索引
-          对返回的行无人和限制条件(无Where子句)
-          对于索引主列(索引的第一列)无限制条件
-          对索引主列的条件含在表达式中
-          对索引主列的限制条件是is (not) null或!=
-          对索引主列的限制条件是like操作且值是一个bind variable或%打头的值
2 只使用选择性索引
   索引的选择性是指索引列中不同值得数目和标志中记录数的比,选择性最好的是非空列的唯一索引为1.0。
复合索引中列的次序的问题:
  1 在限定条件里最频繁使用的列应该是主列
  2 最具有选择性的列(即最清晰的列)应该是主列
  如果1和2 不一致,可以考虑建立多个索引。
在复合索引和多个单个索引中作选择:
  考虑选择性 考虑读取索引的次数  考虑AND-EQUAL操作
3 管理多表连接(Nested Loops, Merge Joins和Hash Joins)  优化联接操作
  Merge Joins是集合操作  Nested Loops和Hash Joins是记录操作返回第一批记录迅速
Merge Joins的操作适用于批处理操作,巨大表 和远程查询
 1全表扫描  --〉 2排序   --〉3比较和合并  性能开销主要在前两步
  适用全表扫描的情形,都适用Merge Joins操作(比Nested Loops有效)。
  改善1的效率: 优化I/O, 提高使用ORACLE多块读的能力, 使用并行查询的选项
  改善1的效率:提高Sort_Area_Size的值, 使用Sort Direct Writes,为临时段提供专用表空间
4 管理包含视图的SQL语句
  优化器执行包含视图的SQL语句有两种方法:
-          先执行视图,完成全部的结果集,然后用其余的查询条件作过滤器执行查询
-          将视图文本集成到查询里去
含有group by子句的视图不能被集成到一个大的查询中去。
在视图中使用union,不阻止视图的SQL集成到查询的语法中去。
5 优化子查询
6 使用复合Keys/S


相关文档:

SQL/PLUS



4.数据类型转换函数
   ●隐式转换
     赋值时可进行的隐式转换有
       VARCHAR2或CHAR —〉NUMBER
       VARCHAR2或CHAR —〉DATE
       NUMBER —〉VARCHAR ......

ORACLE SQL语句优化


1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection ......

sql server 定义主键

drop table father;
create table father(
 id int identity(1,1) primary key,
 name varchar(20) not null,
 age int not null
  
)
drop table mother;
create table mother(
 id int identity(1,1),
 name varchar(20) not null,
 age int not null,
 husban ......

sql语句奥妙之一

例如问题:现在你面对一张表 table1 , table1中有个字段为sales_salary ,在数据库存放的字段为int 类型 。
要求,你统计的结果单位(万元),保留2位小数。并且会有这样的等式 (1行+2行=3行=7行+8行) 面对这样的问题,解决的方案有很多。比如,你可以通过视图的方案来解决,或控制输入域 ...
但有一种等效控制输入 ......

SQL SERVER中一些特别地方的特别解法

--1.关于where筛选器中出现指定星期几的求解
SQL code
--环境
create table test_1
(
id int,
value varchar(10),
t_time datetime
)
insert test_1
select 1,'a','2009-04-19' union
select 2,'b','2009-04-20' union
select 3,'c','2009-04-21' union
select 4,'d','2009-04-22' union
s ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号