Welcome 微信登录

首页 / 数据库 / MySQL

Oracle 执行计划更改导致数据加工未完成

Oracle 执行计划更改导致数据加工未完成

现象:job一直运行,抽取一直在运行,通过过程中的日志记录定位到是因为抽取X系统数据一直卡着。但是查询正在执行的sql,没有任何结果,抽取这部分数据一直运行了一天,还未完。因为定位不到是哪条sql在运行,于是停job,手动运行这部分的数据抽取,运行时间与正常抽取的时间相近,之前查看系统cpu,io均没有异常,怀疑是因为这部分sql的执行计划改变所致。调出系统中的执行计划与手动运行的sql的执行计划进行对比,一条sql的执行计划在月初由hash join 变...
Oracle排序合并连接

Oracle排序合并连接

为了弥补嵌套循环连接的不足,即在连接数据量比较大时,为了缩减嵌套循环连接中的大量随机读取,以及连接列不存在索引时,可以替代嵌套循环连接。但是为了实现表连接,它必须要先对两个表中的将要执行连接的行进行排序。虽然这种方式提高了连接效率,但由于排序的存在,增加了连接的代价。如果能够快速的完成排序操作(排序内存空间大小(sort_area_size),并行),那么在处理大数据量时,排序合并连接将是不错的选择。如果在连接列上有索引,并且利用该索引读取数据,由于索引是...
Oracle 传输表空间

Oracle 传输表空间

Oracle的传输表空间是指,可以将一个数据库上的一个或多个表空间的全部数据文件拷贝到另一个数据库服务器上,通过导入的方式将表空间加载当目标数据库。使用这种方法的最大好处是速度快,所需要的时间和拷贝数据文件差不多,比执行EXP/IMP的导入导出要快得多。传输表空间的限制条件:源和目标数据库必须使用相同的字符集和国家字符集(分别对应nls_database_parameters视图的NLS_CHARACTERSET与NLS_NCHAR_CHARACTERSE...
MySQL查询不使用索引汇总

MySQL查询不使用索引汇总

众所周知,增加索引是提高查询速度的有效途径,但是很多时候,即使增加了索引,查询仍然不使用索引,这种情况严重影响性能,这里就简单总结几条MySQL不使用索引的情况1.如果MySQL估计使用索引比全表扫描更慢,则不使用索引。例如,如果列key均匀分布在1和100之间,下面的查询使用索引就不是很好:select * from table_name where key>1 and key<90;2.如果使用MEMORY/HEAP表,并且where条件中...
Oracle GoldenGate安装配置

Oracle GoldenGate安装配置

Oracle GoldenGate软件基于数据库日志结构变化,通过解析源端在线日志或归档日志获得数据增量,再将这些变化应用到目标数据库,从而实现源库和目标库的数据同步。下面通过一个简单的示例,详细介绍利用GoldenGate实现Oracle数据库之间的同步。基本架构如下图所示:1. 安装1.1 下载介质GoldenGate的安装介质可以从Oracle的官网上下载。http://www.oracle.com/technetwork/middleware/go...
Oracle AUTOTRACE 统计信息

Oracle AUTOTRACE 统计信息

AUTOTRACE 中 统计信息的解释:RECURSIVE CALLS:递归读为了保证用户发的SQL的顺利执行,Oracle必须执行一些额外的语句。这些语句就叫做递归读。比如你想插入条数据,但已经没有足够的表空间,ORALCE会产生递归读去动态分配空间。当数据字典信息在DATA DICTIONARY CACHE中不存在需要从硬盘上读取的时候,也是需要递归读。它内部产生一条维护的语句,就会有一条递归读。DB BLOCK GETS:以即时读模式从BUFFER ...
在Oracle里面为读取出来的数据添加一个序号

在Oracle里面为读取出来的数据添加一个序号

在Oracle里面为读取出来的数据添加一个序号我们在给客户演示报表的时候,有时候客户会提出在报表的第一列,能不能添加一个序号但是如果通过修改程序代码的方式来做,是可以实现,不过做起来会比较麻烦,有个比较实用的方式可以解决,那就是通过ORACLE里面的RowNum,函数来取,例如:select id,name from tablename 来展示客户需要的数据,那么我们可以通过,select rownum,id,name from tablename,来把序...
<< 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 >>