名站网址导航为大家提供关于数据库教程相关的教程网站知识。
导入导出oracle方案是备份和恢复的主旋律,不是dba,对于数据的导入导出没有太多的研究,仅有一点点在使用过程中的体会,在此简单说明。索引在Oracle中的应用深入分析
索引是提高数据查询最有效的具体相关方法,也是最难全面掌握的技术,因为正确的索引可能使效率提高10000倍,而无效的索引可能是浪费了网站数据库空间,甚至大大降低查询性能。,一.索引的管理成本 1、 存储索引的磁盘空间 2、 执行数据修改操作办法(INSERT、UPDATE、DELETE)产生的索引维护 3、 在数据处理时所需额外的回退空间。,二.实际数据修改测试: 一个表有字段A、B、C,同时进行插入10000行记录测试 在没有建索引时平均完成时间是2.9秒 在对A字段建索引后平均完成时间是6.7秒 在对A字段和B字段建索引后平均完成时间,三.索引按存储具体相关方法分类 1.B*树索引 B*树索引是最经常用的的索引,其存储结构类似书的索引结构,有分支和叶两种类型的存储数据块,分支块相当于书的大目录,叶块相当于索引到的具体的书页。一般索引及唯一约束索,2.位图索引 位图索引储存主要用来节省空间,减少ORACLE对数据块的访问,它采用位图偏移相关方式来与表的行ID号对应,采用位图索引一般是重复值太多的表字段。位图索引在实际密集型OLTP(数据事务处理)中,四.索引按功能分类 1.唯一索引 唯一索引有两个作用,一个是数据约束,一个是数据索引,其中数据约束主要用来保证数据的完整性,唯一索引产生的索引记录中每一条记录都对应一个唯一的ROWID。,2.主关键字索引 主关键字索引产生的索引同唯一索引,只不过它是在网站数据库建立主关键字时系统自动建立的。,3.一般索引 一般索引不产生数据约束作用,其功能主要是对字段建立索引表,以提高数据查询速度。,五.索引按索引对象分类 1.单列索引(表单个字段的索引) 2.多列索引(表多个字段的索引) 3.函数索引(对字段进行函数运算的索引),建立函数索引的具体相关方法: create index 收费日期索引 on GC_DFSS(trunc(sk_rq)) create index 完全客户编号索引 on yhzl(qc_bh||kh_bh) ,注:假如如果对用户函数进行索引的话,那用户函数应加上 deterministic参数,意思是函数在输入值固定的情况下返回值也固定。例: create or replace function trunc_a,六.应用索引的扫描分类 1.INDEX UNIQUE SCAN(按索引唯一值扫描) select * from zl_yhjbqk where hbs_bh='5420016000',2.INDEX RANGE SCAN(按索引值范围扫描) select * from zl_yhjbqk where hbs_bh>'5420016000' select * from zl_yhjb,3.INDEX FAST FULL SCAN(按索引值快速全部扫描) select hbs_bh from zl_yhjbqk order by hbs_bh select count(*) from,七.什么情况下应该建立索引 1.表的主关键字,自动建立唯一索引 如zl_yhjbqk(用户基本情况)中的hbs_bh(户标识编号),2.表的字段唯一约束 ORACLE利用索引来保证数据的完整性 如lc_hj(流程环节)中的lc_bh hj_sx(流程编号 环节顺序),3.直接条件查询的字段 在SQL中用于条件约束的字段 如zl_yhjbqk(用户基本情况)中的qc_bh(区册编号) select * from zl_yhjbqk where qc_bh='7001,4.查询中与其它表关联的字段,常常建立了外键关系 如zl_ydcf(用电成份)中的jldb_bh(计量点表编号) select * from zl_ydcf a,zl_yhdb b where a.j,5.查询中排序的字段 排序的字段假如如果通过索引去访问那将大大提高排序速度 select * from zl_yhjbqk order by qc_bh(建立qc_bh索引) select * from ,6.查询中统计或分组统计的字段 select max(hbs_bh) from zl_yhjbqk select qc_bh,count(*) from zl_yhjbqk group by qc_b,八.什么情况下应不建或少建索引 1.表记录太少 假如如果一个表只有5条记录,采用索引去访问记录的话,那首先需访问索引表,再通过索引表访问数据表,一般索引表与数据表不在同一个数据块,这种情 况下ORACLE,2.经常插入、删除、修改的表 对一些经常处理的业务表应在查询允许的情况下尽量减少索引,如zl_yhbm,gc_dfss,gc_dfys,gc_fpdy等业务表。,3.数据重复且分布平均的表字段 假如一个表有10万行记录,有一个字段A只有T和F两种值,且每个值的分布概率大约为50%,那么对这种表A字段建索引一般不会提高网站数据库的查询速度。,4.经常和主字段一块查询但主字段索引值比较多的表字段 如gc_dfss(电费实收)表经常按收费序号、户标识编号、抄表日期、电费发生年月、操作办法标志来具体查询某一笔收款的情况,假如如果将所有的字段 都建在一个,九.如何只通过索引返回结果 一个索引一般包括单个或多个字段,假如如果能不访问表直接应用索引就返回结果那将大大提高网站数据库查询的性能。对比以下三个SQL,其中对表zl_yhjbqk的hbs_bh和qc_bh字,1 select hbs_bh,qc_bh,xh_bz from zl_yhjbqk where qc_bh='7001' 执行路径: SELECT STATEMENT, GOAL = ChOOSE ,2 select hbs_bh,qc_bh from zl_yhjbqk where qc_bh='7001' 执行路径: SELECT STATEMENT, GOAL = ChOOSE 11 265,3 select qc_bh from zl_yhjbqk where qc_bh='7001' 执行路径: SELECT STATEMENT, GOAL = ChOOSE 1 265 1060 IN,十.如何快速新建大数据量表的索引 假如如果一个表的记录达到100万以上的话,要对其中一个字段建索引可能要花很长的时间,甚至导致站点服务器网站数据库死机,因为在建索引的时候 ORACLE要将索引字段所有的内容取出并
导入
复制具体相关代码 具体相关代码如下:
imp xzfy_master/xzfy@orcl file=d:\master0312.dmp full=y;
这里full=y一定要写上,就是要导入整个方案来着。还有分号一定要有否则不执行。
导出
复制具体相关代码 具体相关代码如下:
exp xzfy_efmweb/xzfy@orcl file=d:\xzfy_efmweb0312.dmp
导出过程相对简单,不需要其他的参数配置了,直接将整个方案导出,注意分号一定不要加,加上之后dmp网站网站文件的扩展名就变成了".dmp;"。不过这样也不影响使用,只需要到磁盘里把那个多余分号去掉就可以了,数据没什么损坏。但可能会让您觉得迷惑,再使用数据网站网站文件的时候无论如何找不到了,其实就是多了个分号。
这方面内容其实蛮多的,今天看了一下eygle的循序渐进oracle,备份与恢复也是一个大章节,现在也没有过多的精力研究了,这里先这样吧,就当是记录一下了。 关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。