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条件中...
<< 641 642 643 644 645 646 647 648 649 650 >>