摘要: 临时表是利用了硬盘(tempdb数据库) ,表名变量是占用内存,因此小数据量当然是内存中的表变量更快。当大数据量时,就不能用表变量了,太耗内存了。大数据量时适合用临时表。表变量缺省放在内存,速度快,所以在触发器,存储过程里如果数据量不大,应该用表变量。临 时表缺省使用硬盘,一般来说速度比较慢,那是不是就不用临时表呢?也不是,在数据量比较大的时候,如果使用表变量,会把内存耗尽,然后使用 TEMPDB的空间,这样主要还是使用硬盘空间,但同时把内存基本耗尽,增加了内存调入调出的机会,反而降低速度。这种情况建议先给TEMPDB一次分配 合适的空间,然后使用临时表。临时表相对而言表变量主要是多了I/O时 阅读全文
posted @ 2012-05-03 18:26 莫问前程 阅读(287) 评论(0) 推荐(0) 编辑
摘要: MySQL Replication可以很方便的用来做应用的读扩展,也可以帮MySQL实现一定程度的HA方案。MySQL通过向备库传送二进制日志来实现Replication,本文将通过二进制日志相关源代码的主要接口来解释:“MySQL如何传输二进制日志,是主库推,还是备库拉?MySQL日志传输的实时性如何?”。在MySQL Replication结构中,备库端初次通过CHANGE MASTER TO完成Replication配置,再使用start slave命令开始复制。更细致的,备库通过IO Thread向主库发起读取binlog的请求(COM_BINLOG_DUMP命令),主库收到COM_B 阅读全文
posted @ 2012-05-03 15:34 莫问前程 阅读(238) 评论(0) 推荐(0) 编辑
摘要: SQL 异常处理 Begin try end try begin catch end catch总结了一下错误捕捉方法:try catch ,@@error, raiserror这是在数据库转换的时候用的的异常处理,Begin TryInsertintoSDT.dbo.DYEmpLostTM(LogDate,ProdGroup,ShiftCode,EmployeeNo,MONo,OpNo,OTFlag,LostTypeID,OffStdTime,EmployeeGroup,CMFlag)values(@LogDate,@ProdGroup,@ShiftCode,@EmployeeNo,@MON 阅读全文
posted @ 2012-05-03 14:57 莫问前程 阅读(2731) 评论(0) 推荐(0) 编辑