手工需要创建的索引:大表查询时, sql语句where后经常用到的字段或字段组合
字段内容差别很大有大量NULL值表很大, 返回记录数较少
3. B*树索引的结构 每个索引由字段值和指针或ROWID组成
4.创建索引的语法
CREATE INDEX 索引名 ON 表名 ( 字段1, [字段2, ……] ) TABLESPACE 表空间名;
5.创建索引的注意事项
创建索引时会加行级独占锁
一个表的索引最好不要超过三个 (特殊的大表除外)
最好用单字段索引
索引最好和表分不同的表空间存放
结合SQL语句的分析执行情况, 也可以建立多字段的组合索引和基于函数的索引
大表的索引会占用很大的存储空间
不要建唯一的索引, 而应该加唯一的约束条件
6.查询索引的方法
查询数据字典user_indexes和user_ind_columns
例子:
SQL> SELECT ic.index_name, ic.column_name,
2 ic.column_position col_pos,ix.uniqueness
3 FROM user_indexes ix, user_ind_columns ic
4 WHERE ic.index_name = ix.index_name
5 AND ic.table_name = 'S_EMP';
注意: 数据字典里存放的字符都是大写的.
7. 不用索引的地方
表很小
where后不经常使用的比较字段
表被频繁修改
返回记录数很多
where后含IS NULL /IS NOT NULL/ like ‘%输入符%’等条件
8. 重建索引的语法
ALTER INDEX 索引名 REBUILD TABLESPACE 原来表空间名 NOLOGGING;
定期重建索引可以减少索引的碎片, 更有效地使用表空间.
9. 删除索引
SQL> drop index 索引名;
SQL> alter table 表名 drop constraint 约束名;
十六、控制用户访问
1.权限的类别
系统级权限: 针对整个系统操作的权限
如: 用户名/密码, 使用表空间的限额等
对象级权限: 针对某个具体object操作的权限
如: 针对某个表, 视图, 表的某个字段的select, update, delete权限
2. 查看当前的用户信息
SQL>select username,default_tablespace,temporary_tablespace from dba_users;
查看用户信息
SQL>select count(*) “number”,username “current username” from v$session group by username;
用户查看自己的缺省表空间SQL>select username,default_tablespace from user_users;
3. 创建新用户
SQL> create user username identified by password
default tablespace tablespace_name temporary tablespace temp
quota unlimited on tablespace_name
quota 1k on system
[quota 1k on other_tablespace_name ……] ;
给用户赋权限
SQL> grant connect, resource to username;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-25214-17.html
这生意多好做啊”
此人完了
日本军舰击中定远镇远数百发炮弹
奥驴黔驴技穷