数据库性能优化
Oracle方面的特性:分区技术
分区索引
记录表,索引更多。
创建索引,也可以分区。分区索引
基本原则: 创建表的物理位置 与 创建索引物理位置 一定要不相同!
相当于:字典前面索引 字典正文 分别放在两个硬盘上!
查资料:
索引:一个有顺序的表(表中只有被索引列)
索引化表:将表的数据进行索引化(在SQLServer叫做聚簇表)
主键规律不定,也不能索引化表,如GUID -网卡生成16号字符串
多个表连接,通常连接部分的数据量非常大。
10 * 100 条,连接 :满足条件的100条
100条是通过计算以后得到
如果将连接的结果事先保存在一个表,效率肯定会更高。
这种表聚簇表
索引
普通索引:值可以重复
create index xx on 表(name);
... where name='xxx' ;name like '李%'
where name!='李%'
唯一索引:PK就是唯一索引
create unique index xx on 表(身份证);
查询所有姓李的
where substr(name,1,1)='李'
这时建立 函数索引
create index xx on 表(substr(name,1,1));
如何为部门,性别建立字段?
特点:重复值特别多。
性别
Oracle为每个值建立一个引用,在索引中只保存引用。
位图索引
create bitmap index xxxxx;
反序索引
select * from t_news where rownum<=10
order by 发表日期 desc
create 反序 index .. on(发表日期);
2009-2-1
2009-1-31