提升MySQL性能值得借鉴的几个简易方法
提升MySQL性能的几个简易方法,主要用于设计、开发阶段的借鉴。[@more@]1、Carefully choose attribute types and lengths.仔细选择字段的类型与长度。2、Use fixed-length attributes: try to avoid the types VARCHAR, BLOB, and TEXT. 使用固定长度的字段,尽量避免使用VARCHAR、BLOB、TEXT。3、MySQL can't join tables using an index if the attributes are different types or (in some cases) have different lengths.如果表的类型或长度不一致,MySQL在表连接时将无法使用索引。4、Create a statistics table if aggregate funct
oracle中的左连接、右连接
对左连接、右连接的疑惑得到解决。下述阐述摘自网络。[@more@]在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句:SELECT emp_name, dept_name FORM Employee, DepartmentWHERE Employee.emp_deptid(+) = Department.deptid 此SQL使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。反之:SELECT emp_name, &n
oracle8的ROWID结构
关于ROWID的结构详解。来源:网络 作者:佚名[@more@]oracle8的ROWID结构1、为什么使用ROWID ORACLE把ROWID作为B-树和其内部算法标示ROW的唯一标示。 在ORACLE8以前的版本中,ROWID标示FILE、BLOCK、ROW NUMBER,只用一个数字代 表FILE号。 在ORACLE8中,一个DATAFILE有两个数字代表: 一个绝对值,是整个数据库唯一的。可以看DBA_DATA_FILES中的FILE_ID。 一个相对值,在TABLESPACE中是唯一的,可以看DBA_DATA_FILES中的RELATIVE_ FNO。 
快速计算事务的时间与日志量
ITPUB oracle FAQ上摘抄。[@more@]DECLARE start_time NUMBER; end_time NUMBER; start_redo_size NUMBER; end_redo_size NUMBER; BEGIN start_time := dbms_utility.get_time; SELECT VALUE INTO start_redo_size FROM v$mystat m,v$statname s WHERE m.STATISTIC#=s.STATISTIC# AND s.NAME='redo size'; --transaction start INSERT INTO t1 SELECT * FROM All_Objects; --other dml statement COMMIT; end_time := dbms_utility.get_time; SELECT VALUE INTO end_redo_size FROM v$mystat m,v$statname s WHERE m.STATISTIC#=s.STATIST
关于优化现有系统的建议
1、状况 现有的各套系统运行较为稳定。但随着数据的不断增长,应用的增加,有一个比较突出的问题,就是运行速度不够理想。特别是在县公司数据合并到分公司之后,这个问题会更为突出。个人认为,从硬件的角度来看,现有的设备(MEM、CPU、磁盘阵列)可以满足目前的这些应用。从福州分公司合并数据的经验来看,在其它分公司陆续合并县公司数据后,我个人认为数据库负载过重导致速度变慢的相似情形也会随之出现。从客户的使用角度考虑,运行速度的降低,会引起客户满意度的降低,甚至对更多的新的应用系统的抵触心理。&nbs
Oracle RMAN快速入门指南
http://blog.csdn.net/chensheng913/archive/2004/12/17/220091.aspx[@more@]
rman 初识
rman总结http://www.chinaunix.net 作者:geniiking 发表于:2004-03-01 13:22:51rman作为oracle备份最为方便的工具,以下就总结几条常用的命令,希望能方便大家,也希望可以申请授权: 1、首先使用rman前,需要建一个目录数据库 2、create tablespce rman datafile '/data/oradata/test/rman.dbf' size 20m; 3、create user rman identified by rman default tablespace rman temporary tablespace temp; 4、grant connect,resourc
索引使用误区
一、在oracle中,我们经常以为建立了索引,sql查询的时候就会如我们所希望的那样使用索引,事实上,oracle只会在一定条件下使用索引,这里我们总结数第一点:oracle会在条件中包含了前导列时使用索引,即查询条件中必须使用索引中的第一个列二、使用了<> 和!=后,就不会使用索引三、使用基于函数的索引(BFI, Based Function Index):从Oracle 8i开始,可以使用基于函数的索引来提高查询性能,使用基于函数的索引,需要几个条件:1, 用户需要有create index或者create any index权限2, 用户需要有query rewrite或者g
表move tablespace 造成索引无效
table move tablespace可以重整数据存储,其索引、权限等信息依旧保留,但会造成索引不可用,其他信息不受影响。所以对表move tablespace后,应该rebuild index。在目前应用系统的数据库上,由于定时对表move tablespace,有时造成索引不可用,就是这种现象。[@more@]
9i undo data 管理
1. undo segment purpose a. transaction rollback b. read consistency c. transacton recovery2. Types of undo segments a. system:used for objects in the system tablespace b. Non-system:used for objects in other tablespace --auto mode: require an UNDO tablespace --Manual mode: --Private: acquired by a single instance  
Oracle数据库的备份(下)
本文出自《网管员世界》2002年第10期“系统维护”栏目逻辑备份的实现之Export/ImportEXP和IMP是Oracle提供的一种逻辑备份工具。逻辑备份创建数据库对象的逻辑拷贝并存入一个二进制转储文件。这种逻辑备份需要在数据库启动的情况下使用, 其导出实质就是读取一个数据库记录集(甚至可以包括数据字典)并将这个记录集写入一个文件,这些记录的导出与其物理位置无关,导入实质就是读取转储文件并执行其中的命令。此备份方式是通过Oracle的实用工具export和import来实施的, export是把数据库中的数据导出,import是把export卸出的数据导入
Oracle数据库的备份(中)
物理备份的实现之热备份热备份即数据库在开启(正常运行)的情况下并以Archive log方式运行时,进行的数据库备份。热备份可以给 Oracle用户提供一个不间断的运行环境。热备份又分在线备份和离线备份,在线和离线备份的惟一区别是数据库的tablespace是否在线,主要表现在Oracle用户可以对在线备份的tablespace进行数据操作,而离线备份的tablespace暂时不能接受用户的数据操作。我们可以根据系统的实际情况选择相应的热备份。因为热备份通过操作系统命令备份物理文件将消耗大量系统资源,因此通常都是安排在用户访问频率较低的时候(如夜间)进
oracle数据库的备份(上)
本文出自《网管员世界》“系统维护”栏目一、引言目前,Oracle数据库已经发展成为主流大型数据库之一,其存储级别可以达到TB级,从而也在更广泛的范围运用开来,那么如何保证数据库的安全性和可靠性就更至关重要了。现在,就平常的实际使用,和大家谈谈关于Oracle数据库的备份方法及备份策略。二、分类对于不同的项目和应用,Oracle数据库提供了多种丰富的备份方法用以达到不同的功能。1. 从总体上可分为物理备份和逻辑备份。* 物理备份是实际物理数据库文件从一处复制到另一处(通常从磁盘到磁带)的备份,并在备份过程中对物理文件实施压缩
学习oracle9i在linux上的安装
准备学习安装,参考以下文章http://www.dbanotes.net/Oracle/Install-Oracle9iR2-RHEL3.htm[@more@]
判断系统是否使用spfile
SQL> show parameter spfile;NAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile &nbs
不同oracle应用类型相关的性能因素
在线事务处理(OLTP):主要目标是可用性、并发性和可恢复性回滚段索引、簇、哈希离散事务数据块大小缓冲区缓存大小表和回滚段空间的动态分配事务处理监视和多线程服务器绑定变量的使用共享池分区优化过的sql语句完整性约束客户/服务器体系结构可动态改变的初始化参数流程、组件、功能决策支持系统(DSS):主要目标是相应时间、精确性和可用性实体化试图索引(B树和位图)簇、哈希数据块大小并行执行星型查询优化程序使用查询提示SQL语句中的PL/SQL功能分区[@more@]
优化的优先步骤
按照投资回报减少的顺序给出优化的步骤,对性能影响越大,其位置越靠前。1、优化商业规则2、优化数据设计:降低数据冗余,避免数据争用3、优化应用程序设计4、优化数据库的逻辑结构:保证数据被正确索引5、优化数据库操作:查找最消耗资源的语句;对这些语句进行优化,使其占用更少的资源6、优化访问路径:考虑使用簇、哈西簇、B树索引、位图索引、提示(hint),以及对表进行分析7、优化内存分配8、优化I/O和物理结构9、优化资源争用:块争用、共享池争用、锁争用、PINGING(并行服务器)、锁存器(latch)争用10、优化所采用的平台[@mor
oracle日志分析(日志挖掘)
日志挖掘(logmnr)1、set directory:设置init.ora中的参数utl_fie_dir2、restartup db3、create directory file: dbms_logmnr_ddesc dbms_logmnr_d;4、add log file:将需要分析的日志文件添加到相应的目录下:dbms_logmnr.add_logfiledbms_logmnr.add_logfile5、start logmnrdbms_logmnr.start_logmnr6、查询动态视图v$logmnr_content: sqlredo/sqlundo[@more@]
oracle归档模式与非归档模式的转换
archivelog<-->noarchivelog1)shutdown clearly:shutdown immediate2)startup pfile=*** mount3)alter database archivelog/noarchivelog4)alter database open5)full db backup如果是转换到archivelog,则需启用自动归档:archive log start[@more@]
oracle日志文件管理
ORACLE对于日志文件管理的建议:1、每个日志组具有相同的大小,相同的成员数量;2、组成员分别位于不同的磁盘上,以达到多工的目的;3、9i通过OMF来管理Log file将更为方便、科学(os级的相关文件由oracle增加、删除,无需再人工干预)--显示相关OMF参数show parameter db_create_online_log;--设置参数alter system set db_create_online_log_dest_1='d:oraclehsmisoralog' scope=both;--增加日志组 alter database add logfile group 4;--删除日志组,os文件也一并被删除alter database drop logfile group 4;4、通过v$log、v$logfil