Welcome 微信登录

首页 / 数据库 / MySQL

Oracle 大规模 delete,update 操作 注意事项

Oracle 大规模 delete,update 操作 注意事项

一. 说明 如果对大表进行大规模的delete 和update,那么可以注意一下如下说明: (1) 查看执行计划,如果说删除的记录很多,走索引的成本会比全表扫描更大,因为更新数据时还需要做一些约束校验和创建index entry。而且对于多CPU 情况,全表扫描还可以使用并行的特性。 Oracle Parallel Execution(并行执行)http://www.linuxidc.com/Linux/2011-07/38009.htm (2)如果表上有...
Oracle 高水位(HWM: High Water Mark) 说明

Oracle 高水位(HWM: High Water Mark) 说明

一. 准备知识:Oracle的逻辑存储管理. ORACLE在逻辑存储上分4个粒度: 表空间, 段, 区 和 块. 1.1 块: 是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. 每一个Block里可以包含多个row. 1.2 区: 由一系列相邻的块而组成,这也是ORACLE空间分配的基本单位,举个例子来说,当我们创建一个表Dave时,首先...
Oracle 常见的33个等待事件

Oracle 常见的33个等待事件

一. 等待事件的相关知识:1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件。1). 空闲等待事件指Oracle正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件。2). 非空闲等待事件专门针对ORACLE的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件是在调整数据库的时候需要关注与研究的。在Oracle 10g中的等待事件有872个,11g中等待事件1116个。 我们可以通过v$ev...
使用 Tkprof 分析 ORACLE 跟踪文件

使用 Tkprof 分析 ORACLE 跟踪文件

Tkprof是一个用于分析Oracle跟踪文件并且产生一个更加清晰合理的输出结果的可执行工具。如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用Tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句。一.TKPROF命令语法:TKPROFfilename1,filename2[SORT=[opion][,option]][PRINT=integer][AGGREGATE=[YES|NO]][INSERT=filename...
Oracle DML NOLOGGING

Oracle DML NOLOGGING

一.NOLOGGING说明在对大表插入数据的时候,经常会用到nologging选项。Nologging并不是不产生redo,nologging+direct只是不会对数据产生redo(但依然有其他的redo)。同理logging+direct下undo也是大大地减少,减少的是数据的undo,这里强调的是数据本身的undo,就如同redo的减少也一样,是数据本身的redo,这和数据库是否产生redo和undo是不同的概念,比如空间分配的redoandundo...
Oracle SQL Loader

Oracle SQL Loader

一:SQL Loader 的特点 Oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。 比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容性的问题吧。 sql...
表空间(tableSpace) 段(segment) 盘区(extent) 块(block) 关系

表空间(tableSpace) 段(segment) 盘区(extent) 块(block) 关系

Oracle表空间(tableSpace)、段 (segment)、盘区(extent)、块(block),这些都是Oracle用来保存数据库对象的分配单元段 就是数据库对象,它消耗存储空间,如表、索引、回滚段等。当创建表的时候,将创建一个表段,当创建一个分区表时,即在每个分区上创建一个段,当创建索引 时,将创建一个索引段,每一个消耗存储空间的对象最终被存储在一个单一的段中,有回滚段,临时段,聚簇段、索引段等。一个段可以拥有来自许多不通数据文件 中的盘区。...
MySQL源码学习:关于慢查询日志中的Rows_examined=0

MySQL源码学习:关于慢查询日志中的Rows_examined=0

最近在一个项目中DBA同学问了一个问题:为什么很多慢查询日志中显示 Rows_examined : 0?需要说明的是, 这类慢查询语句都是类似 select count(*) from (…)t;在说明这个问题之前,我们先指出两个相关背景:1、MySQL的临时表,都是MyISAM的。2、MyISAM表中的记录总数是额外存储的,count(*)的时候不需要遍历数据。3、把count(*)转换为取一个const值这件事情,是在优化(optimize)阶段作的。...
Redhat Linux 下安装Oracle 11g R2

Redhat Linux 下安装Oracle 11g R2

决定安装Oracle玩玩。这次用的是 RedHat Enterprise Linux 4 + Oracle 11g R2,在这次安装过程中遇到了些问题,特总结下来以备后用。在开始安装之前先是安装Linux,由于在前几次的安装中跟/只挂载了10G左右的容量,没想到/u01也是用的/的容量,因此在安装完Linux系统后/只有大概4G左右的容量了是不够安装Oracle的。而且安我的习惯是将安装包解压到/tmp目录下,而/tmp目录也是用的/的容量。因此在这次安装...
Oracle从表中随机抽取记录[sql]

Oracle从表中随机抽取记录[sql]

一、Oracle取随机数据1、Oracle访问数据的基本方法:1)、全表扫描(Full table Scan):执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件。Oracle顺序的读分配给该表的每一个数据块,且每个数据块Oracle只读一次.这样全表扫描能够受益于多块读.2)、采样表扫描(sample table scan):扫描返回表中随机采样数据,这种访问方式需要在FROM语句中包含SAMPLE选项或者SAMPLE BLOC...
Oracle服务器数据库中文乱码之字符集修改

Oracle服务器数据库中文乱码之字符集修改

最近安装个Oracle 10g数据库,dbca建库的时候没选字符集或者选错的情况,导入数据后,中文全部是乱码(搞笑的是,中文乱码 居然全部是个“靠”字),查看网络几篇文章,也做了相应修改(以前按方法修改可以解决的,今天特例!),解决办法如下:SQL> connect / as sysdba;---dba用户连接数据库SQL> select name,value$ from props$ where name like "%NLS%";---语句...
<< 391 392 393 394 395 396 397 398 399 400 >>