Welcome 微信登录

首页 / 数据库 / MySQL

Oracle索引扫描

Oracle索引扫描

索引扫描不同于表扫描,表扫描只有一种类型就是全表扫描(full table scans),而索引扫描根据具体情况不同可以分为如下几类:索引唯一扫描(index unique scan).这种扫描发生在主键或者唯一索引上,根据键值可以唯一确定要访问的记录,这种扫描方式因为返回的记录数少,能够快速定位记录,扫描效率较高索引范围扫描(index range scan).这种撒么一般发生在返回多个值的时候,如where条件中>and <或者非唯一索引中...
Oracle 事务处理详解

Oracle 事务处理详解

1、事务概念:概念:在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么完全成功执行,完成整个工作单元操作,要么一点也不执行。主要特性:确保数据库的完整性。2、事务的ACID特性对一组SQL语句操作构成事务,数据库操作系统必须确保这些操作的原子性,一致性,隔离性,持久性.1、 原子性(Atomicity)事务的原子性是指事务中包含的所有操作要么全做,要么不做,也就是说所有的...
Oracle多表查询详解

Oracle多表查询详解

多个表之间关系:一对多|(多对一) 多对多 一对一 3种 关系的完整性约束:实体完整性、参照完整性、用于定义的完整性。 必须满足实体完整性和参照完整性.实体完整性:规定了字段|属性的约束参照完整性:关系与关系之间的引用 某个字段的约束 外键一.笛卡尔集笛卡尔集会在下面条件下产生:? 省略连接条件? 连接条件无效? 所有表中的所有行互相连接为了避免笛卡尔集, 可以在 WHERE 加入有效的连接条件。//查询员工及部门的详细信息 但是会产生一个笛卡尔积的效果S...
Oracle 分组查询详解

Oracle 分组查询详解

一,什么是分组函数分组函数作用于一组数据,并对一组数据返回一个值二,分组函数类型Avg ,count,max,min,stddev(标准方差),sum。函数名称函数描述Count返回找到的记录数Min返回一个数字列或计算列的最小值Max返回一个数字列或计算列的最大值Sum返回一个数字列或计算列总和avg返回一个数字列或计算列的平均值三,分组函数的语法 SELECT [column,] group_function(column), ... FROM tab...
Oracle子查询详解

Oracle子查询详解

子查询概念 :当一个查询的结果是另一个查询的条件时,称之为子查询。使用子查询注意事项: 子查询可以嵌套多层 子查询需要圆括号()括起来子查询语法:SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table);l 子查询 (内查询) 在主查询之前一次执行完成。l 子查询的结果被主查询使用 (外查询)。举例:查询员工的工资大于JONES的员工信息分析过...
浅谈Oracle分区表之范围分区

浅谈Oracle分区表之范围分区

在Oracle 10g世界里面,分区表主要分range,hash,list,range-hash,range-list五种类型,在oracle 11g中,则发展到了3*3的分区组合类型,以满足更多的应用场景!但无论在什么情况下,范围分区都是最常见的一种表分区方式,尤其在需要对过期的数据进行整理归档,只保留一定时期内的数据的条件下,几乎都会优先选择使用范围分区的方式!分区表可以说是一项百利而无一害的技术,当数据量达到一定的级别后(通常是超过100G后),就算...
浅谈Oracle闪回删除表限制

浅谈Oracle闪回删除表限制

Oracle 10g开始提供了类似windows系统的回收站功能,用户在删除表的时候会不是直接删除,而是移动到回收站中,如果需要从回收站中取回原来的表,可以使用闪回删除表的特性,迅速的找回被删除的表,而不需要从备份中导入原有的表!但这个回收站功能也是有前提的,不是在任何情况下都可以使用闪回删除表特性,总结下,在10g中,下面几种场景表不能flashback删除,至于11g是否有改进,感兴趣的朋友可以参照本文的方法进行测试下!顺带说下,回收站采取fifo,先...
RHEL5.3跑MySQL 5.5时出现系统崩溃

RHEL5.3跑MySQL 5.5时出现系统崩溃

系统是RHEL5.3,64位,XFS分区,物理内存16G,BUFFER_POOL设置为11G,DELL 2950MYSQL5.5.20 二进制版本在初始化时,系统崩了再看,dump时,系统崩了。导入数据时,系统崩了。用DRAC卡远程抓的屏:XFS文件系统在读写时,出现报错。RHEL5.3系统内核不自带XFS文件系统,是通过往内核打补丁使之支持,后把系统升级为RHEL5.5,系统正常了,没有出现死机情况。注:RHEL5.5版本开始,内核支持XFS文件系统。浅...
MySQL 5.5 创建 线性Hash分区表,并将表文件分布到不同的物理磁盘上

MySQL 5.5 创建 线性Hash分区表,并将表文件分布到不同的物理磁盘上

要合并不同服务器上的数据,考虑到以后会不断添加游戏区组服务器,所以使用mysql5.5的LINEAR HASH分区,当添加的区组超过hash分区后再添加分区,停机维护时再将新添加的分区表文件分布到其他物理分区上去.下面是建表SQLDROPTABLEIFEXISTSgyyx_middle.`wd_char_info`;tudou@GyyxCREATETABLEgyyx_middle.`wd_char_info`(`dist`int(11)NOTNULLDEF...
Oracle的LAG和LEAD分析函数

Oracle的LAG和LEAD分析函数

Lag和Lead函数可以在一次查询中取出同一字段的前N行的数据和后N行的值。这种操作可以使用对相同表的表连接来实现,不过使用LAG和LEAD有更高的效率。lag的语法如下:lead的语法如下:lead 和lag 的语法类似以下以lag为例进行讲解!lag(exp_str,offset,defval) over()exp_str 是要做对比的字段offset 是exp_str字段的偏移量 比如说 offset 为2 则 拿exp_str的第一行和第三行对比,...
Oracle入门教程:利用在线重定义的方式改变普通表为分区表

Oracle入门教程:利用在线重定义的方式改变普通表为分区表

将普通表改为分区表有如下几种方式:1 创建一个和原表一样的分区表A_NEW ; 将insert A_NEW SELECT * FROM A; 将表A 命名为A_OLD 将A_NEW 该名为A;2 利用在先重定义的方式!也是接下来要介绍的方法!第一种方式需要停止应用对A的写访问;使用在线重定义的方式可以对应用透明!测试例子如下:1 创建测试表创建普通表:@bigtab.sql --tom 的大表创建脚本!创建中间分区PART_TAB,使用PART_TAB...
<< 501 502 503 504 505 506 507 508 509 510 >>