数据库
JLegend
这个作者很懒,什么都没留下…
展开
-
oracle优化:避免全表扫描
1. 对返回的行无任何限定条件,即没有where 子句 2. 未对数据表与任何索引主列相对应的行限定条件例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用这个索引,因为State不是索引的主列。 3. 对索引的主列有限定条件,但是在条件表达式里使用以下表达式则会使索引失效,造成全表扫描:(1)where子句中对字段进行函数、转载 2013-10-29 10:42:55 · 845 阅读 · 0 评论 -
事务的原子性、一致性、隔离性、持久性
acid-事务的原子性、一致性、隔离性、持久性原子性 多个事情组成一个单元,要么同时成功或失败,不能只运行其中一个一致性 事务处理要将数据库从一种状态转变为另一种状态。 一旦提交了修改数据,那么其它人读取这个数据,也是被修改后的数据隔离性 在事务处理提交之前,事务处理的效果不能由系统中其它事务处理 多个用户,不能同时读写同转载 2013-10-16 17:59:27 · 804 阅读 · 0 评论 -
详解Oracle DELETE和TRUNCATE 的区别
语法delete from aa truncate table aa 区别1.delete from后面可以写条件,truncate不可以。2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少。转载 2013-10-21 14:34:36 · 962 阅读 · 0 评论 -
oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包
认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有很多优点,具体归纳如下:* 存储过程和函数以命名的数据库对象形式存储于数据库当中。存储在数据库中的优点是很明显的,因为代转载 2013-12-24 15:33:28 · 1447 阅读 · 0 评论 -
oracle三范式的理解
第一范式:数据记录是唯一的,列不可以再拆分。表现为要有主键,确保记录是唯一的。列不能再细分:姓名:1)firstName 2)lastName第二范式:表现为一对多或者多对多的情况,数据不要放到一张表内,拆分为主从表关系。第三范式:消除传递依赖。表现非主键字段只依赖主键,其它的依赖关系独立成表,通过外键关联。所谓传递函数依赖,指的是如 果存在"A → B → C"的决定关系,则C传递函原创 2014-01-06 11:05:28 · 1946 阅读 · 0 评论 -
oracle表空间操作
1、修改表空间文件大小:alter database datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UTPTS01.DBF' resize 10240m;2、打开自动增长ALTER DATABASE DATAFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UTPTS01.DBF' AUTOEXTE原创 2013-12-19 21:38:45 · 602 阅读 · 0 评论 -
oracle PL/SQL FUNCTION PROCEDURES
1、写块、函数、存储过程时,dbms_output.put_line()输出时需要设置输出:set serveroutput on;2、执行函数:select myfun2(7788) from dual;或者在程序窗口3、执行存储过程:命令窗口execute mypro1(9999, 'xx');或者在程序窗口原创 2014-01-03 17:59:34 · 701 阅读 · 0 评论 -
用“>=”替代“>”
大于或小于操作符一般情况下是不用调整的,因为它有索引就会采用索引查找,但有的情况下可以对它进行优化,如一个表有100万记录,一个数值型字段A, 30万记Oracle 教程-63-录的A=0,30万记录的A=1,39万记录的A=2,1万记录的A=3。那么执行A>2与A>=3的效果就有很大的区别了,因为 A>2时ORACLE会先找出为2的记录索引再进行比较,而A>=3时ORACLE则直接找转载 2014-01-02 22:38:35 · 751 阅读 · 0 评论 -
oracle优化
http://blog.itpub.net/7551038/viewspace-613918/转载 2014-01-02 22:55:47 · 556 阅读 · 0 评论 -
oracle 双引号和单引号的区别
双引号一般是用来转义的,如果alias里面有空格或其它保留符号,必须使用双引号。而单引号是用来特制的,比如字符串的引用,日期字符串的引用,都必须包括在单引号中,可以参与运算或其它表达式中。两者不可混用,其中,两个单引号可以作为单引号的转义使用,意思就是一个真正的、没有特殊功能的单引号。例如 select substr('I''am a pig',1,4)。转载 2013-11-22 16:38:17 · 678 阅读 · 0 评论 -
ORALCE 触发器
CREATE [OR REPLACE] TRIGGER trigger_name{BEFORE | AFTER }{INSERT | DELETE | UPDATE [OF column [, column …]]}[OR {INSERT | DELETE | UPDATE [OF column [, column …]]}...]ON [schema.]table_name |转载 2013-11-06 22:47:37 · 660 阅读 · 0 评论 -
SQL 删除重复数据
例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5转载 2013-10-30 14:44:22 · 572 阅读 · 0 评论 -
oracle 全表扫描
1、如果该记录在数据库表(user)的第一条。在oracle中是不是就不会再去查询下面的记录?还是把表中的所有记录加载到缓存中再进行过滤?答: 因为没有索引, Oracle 不知道 满足 username='test' 条件的, 总共有多少个, 所以全表还是要继续的。2、如果username这个字段有索引的话,情况又是什么样子?如果是 RBO (基于规则的优化), 那么自动强制转载 2013-10-29 10:17:07 · 1767 阅读 · 0 评论 -
oracle优化简单的总结
1、善用索引,避免全表扫描:in=>exists,not in=>not exists,not null, 索引字段计算,索引字段使用函数,0 or a2、利用SGA共享池,避开parse阶段--变量绑定(语法检查,语义分析,编译,执行,缓存)3、where条件执行顺序:从后往前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。4、减少解析时间:a、SELECT子句中避免原创 2014-05-27 15:31:08 · 760 阅读 · 0 评论