/*
主键约束/唯一约束 : 系统会自动建立索引,以SYS_开始
1. 为一个表的列或组合列建立索引后,读取的速度加快
2. 但写的速度却减慢了,因为插入,修改和删除数据后,还要更新索引
3. 索引也需要空间,系统要占用大约为表1.2倍的硬盘和内存空间来保存索引,增加了空间负担
索引创建的原则
1. 在大表上建立索引才有意义
2. 在where子句或是连接条件上经常引用的列上建立索引
3. 索引的层次不要超过4层
提高查询效率是以消耗一定的系统资源为代价的,索引不能盲目的建立,这是考验一个dba是否优秀的很重要的指标
索引分类:
1. 按照数据存储方式,分为B*树,反向索引,位图索引
2. 按照索引列的个数分为,单列索引,复合索引
3. 按照索引列值的唯一性,分为唯一索引和非唯一索引
此外还有函数索引,全局索引,分区索引等.
*/
--查看有多少张表
select * from user_tables;
--查看表t10结构
select column_name,data_type,data_length,nullable,data_default from all_tab_columns where lower(table_name)='t10';
--查看表t10内容
select * from t10 ;
--建立索引
create index idx_t10_name on t10(name);
--删除索引
drop index idx_t10_name;
--查看所有索引(从字典数据表中查询)
select index_name,table_name from user_indexes where lower(index_name)='idx_t10_id_name' ;
--建立复合索引
create index idx_t10_id_name on t10(id,name);