Oracle索引、视图、sqlplus基础、分区表
索引
索引的目的是提高存储数据页面的速度
服务器扫描索引以获得数据存储单元的地址
索引的优点为:提高查询的执行速度、实施数据的唯一性、加速了表之间的连接
索引的缺点为:创建索引需要花费较多的时间、每个创建的索引连同原先的数据源都需要空间来存储数据、每次修改数据时索引都要更新
--
按照索引数据的存储方式可以分为:
B*树索引
位图索引
按照索引个数分为:
单列索引
复合索引
索引列值唯一性可分为:
唯一索引
非唯一索引(默认)
--
Create [unique] index index_name
On table_name(column_name,column_name…)
[tablespace tablespace_name];
select * from emp where ename=‘SCOTT’
那么我们可以在ename列上创建B树索引,语句如下:
create index ind_ename on emp(ename) tablespace users
--
位图所以
以位置来表示索引数据
相比B树索引,位图索引可以节省大量磁盘空间
基于每个不同值建立一个位图
语法:
CREATE BITMAP INDEX idx_name
ON tab_name(col_name)
TABLESPACE space_name
例:经常执行语句:
Select count(*) from tab_name where gender = ‘F’
那么可以在性别列上建立位图索引:
Create bitmap index idx_gender
On tab_name(gender)
--
基于函数或表达式所建立的索引
语法:
CREATE INDEX idx_name
ON tab_name(func_name(col_name))
如:
create index funidx_emp_empno on emp substr(empno,1,2);
--
显示表的所有索引:
显示EMP表的索引信息
SELECT index_name, index_type, uniqueness
from user_indexes where table_name='EMP';
==================================================
视图是一个虚拟的表
视图提供一种安全机制,保证只能检索和修改他们看得到的数据
复杂查询的使用也可以通过视图来简
相关文档:
/******************************************************************************/
/*
主流数据库MYSQL/MSSQL/ORACLE测试数据库脚本代码
脚本任务:建立4个表,添加主键,外键,插入数据,建立视图
运行环境1:microsoft sqlserver 2000 查询分析器
运行环境2:mysql5.0 phpMyAdmin网页界面
运行环境3:oracle 9i SQL*PLU ......
项目中用到的partition,总结整理一下相关知识。(网上采集,如有侵权,请及时联系。)
一、Oracle分区简介
ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供 ......
http://blog.csdn.net/mustbelove/archive/2007/04/17/1567836.aspx(转)
1 year=1*12 months
1 day=24
hours=24*(1*60mins)=24*60*(1*60 seconds)
1 week =7 days
注意:
黑色字体是 oracle
8i,9i都可以使用的函数,
蓝色字体是 Oracle
9i
新
增的部分。
请大家在使用时,注意版本限制。
add_mon ......
oracle分析函数十分强大,我们只要掌握这些方法,更直接的说法就是知道这些分析函数的作用就能完成很多工作。
下边贴出这些函数,及简单应用。
其中我想对lag()和lead()函数坐下说明:lag()本身是延后的意思也就是延后出现某列的数,而lead()有引领、领先的意思也就是提前几行显示某列数据
RANK()
dense_rank() ......