摘要: 前面说到的count(*)的数字MyISAM是存储在一个地方就是表的Rows中,从下面的话中我们可以看出MyISAM存的是一个准确的数字,而InnoDB则存储的是粗略的数字。 Rows The number of rows in the table. For nontransactional tables, this number is always accurate. For transa... 阅读全文
posted @ 2009-12-17 15:02 isql 阅读(2523) 评论(0) 推荐(0) 编辑
摘要: 目前在阅读《High Performance MySQL Second Edition》,读到Multiversion Concurrency Control章节时对InnoDB实现MVCC的解释总感觉有点简单,不容易理解(当然也许是自己比较笨看不懂),所以自己总结了一点自己的理解。(Keep Walking已经对本章节进行了翻译,翻译的不错http://www.cnblogs.com/perfe... 阅读全文
posted @ 2009-12-16 16:24 isql 阅读(1020) 评论(0) 推荐(0) 编辑
摘要: 预写式日志(WAL) 是一种实现事务日志的标准方法,很多主流的数据库都是用的这种方法。简言之,WAL 就是对硬盘上的数据文件(表和索引)的修改必须只能在这些修改已经记录了日志之后,即在这些新的日志记录到存储器(硬盘)之后。 这样的话我们就不需要在每次事务提交的时候都把数据页记录到磁盘。  This is also a relatively fast operation, because appen... 阅读全文
posted @ 2009-12-15 15:11 isql 阅读(1141) 评论(0) 推荐(0) 编辑
摘要: 封锁协议有三级。  一级:当某一事务在修改数据时加独占锁(exclusive locks, write locks),直到事务结束(提交或者回滚)释放。因为不能同时对某一数据进行修改,所以一级封锁协议可防止丢失更新。但是读取数据时没有加任何锁,它还是可以读取加了独占锁的数据,所以不能防止脏读不可重复读。  二级:在一级封锁基础上事务读数据时加共享锁(shared locks , read lock... 阅读全文
posted @ 2009-12-15 12:53 isql 阅读(1603) 评论(0) 推荐(1) 编辑
摘要: 手头的书籍+搜索+经验+打字=下面的总结,希望对大家有用。  在物理内存很小且很昂贵的年代,引入了虚拟内存的技术。首先,它是一种技术,计算机系统中进程可以通过访问大小和寻址与系统中物理内存无关的内存。  1.SqlServer的物理内存限制可限制缓冲区高速缓存和过程缓存,虚拟内存限制可限制连接内存。   (缓冲区高速缓存用于存储从数据库磁盘文件读入其中的数据页或索引页,并将修改后的页写回磁盘。缓冲... 阅读全文
posted @ 2009-12-10 13:48 isql 阅读(3129) 评论(0) 推荐(0) 编辑
摘要: 之前碰到过自己新建的SqlServer维护计划想要删除时删不掉的问题,搜索了半天也没找到解决方法,几乎没有相应的帖子。最后在国外的网站上找到了方法,发现很好用,在这里和大家分享一下免得以后不好找。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1.... 阅读全文
posted @ 2009-12-09 22:13 isql 阅读(2681) 评论(0) 推荐(2) 编辑
摘要: 众所周知,InnoDB和MyISAM是mysql中最常用的两种表的类型,MyISAM是默认的类型。它们的区别很多,主要是侧重点不同,InnoDB支持一些高级处理,而MyISAM强调性能,当然强调性能的同时就要牺牲一些东西了。 现在对比一下统计行数的语句(select count(*)|(1)|(Primary Key)),在Mysql中新建两个表,分别是MyISAM和InnoDB类型的:代码Cod... 阅读全文
posted @ 2009-12-09 16:49 isql 阅读(771) 评论(2) 推荐(1) 编辑
摘要: 这是我第一次申请博客,头一次写博文,希望我能坚持。 阅读全文
posted @ 2009-12-09 12:46 isql 阅读(175) 评论(0) 推荐(0) 编辑