MySQL 不能用create table as select 的原因
1、新表不会自动创建创建和原表相同的索引。 2、一个事务中混合了事务和非事务语句。它会提交当前和未完成的事务。 例如,该例子中,第2个update未执行成功,会导致第1个update回滚,但是其中的CTAS语句为DDL操作,无法回滚。 解决办法:使用临时表create temporary table ,退出会话后临时表自动删除。 begin; update accounts set amount
Read more1、新表不会自动创建创建和原表相同的索引。 2、一个事务中混合了事务和非事务语句。它会提交当前和未完成的事务。 例如,该例子中,第2个update未执行成功,会导致第1个update回滚,但是其中的CTAS语句为DDL操作,无法回滚。 解决办法:使用临时表create temporary table ,退出会话后临时表自动删除。 begin; update accounts set amount
Read more公司生产库11gR2 DataGuard报出错误,显示LNS无法将日志传输到备库上。
1 2 3 4 5 6 7 |
Wed Jul 18 14:30:27 2018 LNS: Attempting destination LOG_ARCHIVE_DEST_3 network reconnect (3135) LNS: Destination LOG_ARCHIVE_DEST_3 network reconnect abandoned Error 3135 for archive log file 2 to 'xxxstd2' Errors in file /u01/app/oracle/diag/rdbms/xxxx/promstd1/trace/xxxx_nsa3_77487.trc: ORA-03135: connection lost contact LNS: Failed to archive log 2 thread 1 sequence 2624 (3135) |
查看trace xxxx_nsa3_77487.trc
1 2 3 4 5 6 7 8 |
*** 2018-07-18 14:35:58.062 NSS3 is not running anymore. *** 2018-07-18 14:35:58.062 7977 krsu.c Reusing NSA3 ... *** 2018-07-18 14:35:58.062 8040 krsu.c Netserver NSA3 [pid 77487] for mode ASYNC has been re-initialized Performing a channel reset to ignore previous responses Successfully reused NSA3 [pid 77487] for dest xxxstd2 mode ASYNC ocis=0x7f318f912be0 |
里面提及了NSS、NSA,之前没有注意过这些进程, 那么它们的用途是什么? Oracle 11gR1及之前版本 Oracle
Read moreorder by +limit 常用于分页功能。本案例中,用ID列进行排序,除了查询ID列外,还查询了value和stuffing列。这种情况容易出现性能问题或者不是性能最优的SQL写法。
1 2 3 |
SELECT id, value, LENGTH(stuffing) AS len FROM t_limit ORDER BY id LIMIT 150000, 10; |
测试中发现,如果t_limit为MySIAM。很容易出现性能问题,执行计划走全表扫描不走索引。 现在几乎不用MySIAM,所以本文测试结果基于I
Read more很久不关注MHA,最近看到已经升级到 MHA 0.58,开始支持MySQL的GTID。 GTID对于MySQL复制而言,已经是一场革命。复制变得更加简单,创建复制从库时无需指定主库的file和position,新引入的 master_auto_position=1 即可自动比对主从库之间的binlog差异,自动进行同步,无疑大大节省了DBA操作成本。 GTID的引入,对于DBA而言增加了学习成本。
Read more