<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://900way.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2f900way.spaces.live.com%2fcategory%2fDatabase%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>在路上...: Database</title><description /><link>http://900way.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catDatabase</link><language>en-US</language><pubDate>Tue, 23 Sep 2008 08:50:26 GMT</pubDate><lastBuildDate>Tue, 23 Sep 2008 08:50:26 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://900way.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>6279604829903914469</live:id><live:alias>900way</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Mysql数据表类型特点以及对应用的影响</title><link>http://900way.spaces.live.com/Blog/cns!5725A352704005E5!156.entry</link><description>&lt;div&gt;在mysql数据库中，有不同的表类型，每个表类型都有不同的引擎来处理，因为不同的表类型在应用过程中表现出来的性能特点也是不同的：下面我们看看&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;strong&gt;MySQL数据库引擎快速指导&lt;/strong&gt; &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;如果你是个赛车手并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换，那会是怎么感觉呢？MySQL数据库为开发人员所做的就好像是按按钮换引擎；它让你选择数据库引擎，并给你一条简单的途径来切换它。&lt;br&gt;&lt;br&gt;MySQL的自带引擎肯定是够用了，但是在有些情况下，其他的引擎可能要比手头所用更适合完成任务。如果愿意的话，你甚至可以使用MySQL++ API来创建自己的数据库引擎，就像打穿气缸装上自己的化油器。现在让我们来看看你该如何选择引擎，以及如何在可用引擎之间切换。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;strong&gt;选择你的引擎&lt;br&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;你能用的数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎，就必须重新编译MySQL。仅仅为了添加一个特性而编译应用程序的概念对于Windows的开发人员来说可能很奇怪，但是在UNIX世界里，这已经成为了标准。在缺省情况下，MySQL支持三个引擎：ISAM、MyISAM和HEAP。另外两种类型InnoDB和Berkley（BDB），也常常可以使用。&lt;br&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;ISAM&lt;br&gt;&lt;/strong&gt;ISAM是一个定义明确且历经时间考验的数据表格管理方法，它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此，ISAM执行读取操作的速度很快，而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于，它不支持事务处理，也不能够容错：如果你的硬盘崩溃了，那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里，那就必须经常备份你所有的实时数据，通过其复制特性，MySQL能够支持这样的备份应用程序。&lt;br&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;MyISAM&lt;br&gt;&lt;/strong&gt;MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能，MyISAM还使用一种表格锁定的机制，来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZE TABLE命令，来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展，例如用来修复数据库文件的MyISAMChk工具和用来恢复浪费空间的MyISAMPack工具。&lt;br&gt;&lt;br&gt;MyISAM强调了快速读取操作，这可能就是为什么MySQL受到了Web开发如此青睐的主要原因：在Web开发中你所进行的大量数据操作都是读取操作。所以，大多数虚拟主机提供商和Internet平台提供商（Internet Presence Provider，IPP）只允许使用MyISAM格式。&lt;br&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;HEAP&lt;br&gt;&lt;/strong&gt;HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MyISAM都快，但是它所管理的数据是不稳定的，而且如果在关机之前没有进行保存，那么所有的数据都会丢失。在数据行被删除的时候，HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住，在用完表格之后就删除表格。让我再重复一遍：在你用完表格之后，不要忘记删除表格。&lt;br&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;InnoDB和Berkley DB&lt;br&gt;&lt;/strong&gt;InnoDB和Berkley DB（BDB）数据库引擎都是造就MySQL灵活性的技术的直接产品，这项技术就是MySQL++ API。在使用MySQL的时候，你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理也不支持外来键。尽管要比ISAM和MyISAM引擎慢很多，但是InnoDB和BDB包括了对事务处理和外来键的支持，这两点都是前两个引擎所没有的。如前所述，如果你的设计需要这些特性中的一者或者两者，那你就要被迫使用后两个引擎中的一个了。&lt;br&gt;&lt;br&gt;如果感觉自己的确技术高超，你还能够使用MySQL++来创建自己的数据库引擎。这个API为你提供了操作字段、记录、表格、数据库、连接、安全帐号的功能，以及建立诸如MySQL这样DBMS所需要的所有其他无数功能。深入讲解API已经超出了本文的范围，但是你需要了解MySQL++的存在及其可交换引擎背后的技术，这一点是很重要的。估计这个插件式数据库引擎的模型甚至能够被用来为MySQL创建本地的XML提供器（XML provider）。（任何读到本文的MySQL++开发人员可以把这一点当作是个要求。）&lt;br&gt;&lt;/div&gt;
&lt;div&gt;注:&lt;/div&gt;
&lt;div&gt;      最常用的表类型是MyISAM和innoDB两种类型。&lt;/div&gt;
&lt;div&gt;
&lt;p style="text-indent:15pt;line-height:150%"&gt;MyISAM强调的是性能，其执行速度比innoDB引擎更快，但是不提供事务支持，而innoDB提供事务支持以及外部键等高级数据库功能。MyISAM的确快，但是如果逻辑设计需要事务处理，可以自由使用支持事务处理的引擎,如innoDB。进一步讲，由于MySQL能够允许在表格这一层应用数据库引擎，所以可以只对需要事务处理的表格来进行性能优化，而把不需要事务处理的表格交给更加轻便的MyISAM引擎。
&lt;p style="text-indent:15pt;line-height:150%"&gt;MyISAM需要经常使用OPTIMIZE TABLE命令，来恢复被更新机制所浪费的空间。
&lt;p style="text-indent:15pt;line-height:150%"&gt; &lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=6279604829903914469&amp;page=RSS%3a+Mysql%e6%95%b0%e6%8d%ae%e8%a1%a8%e7%b1%bb%e5%9e%8b%e7%89%b9%e7%82%b9%e4%bb%a5%e5%8f%8a%e5%af%b9%e5%ba%94%e7%94%a8%e7%9a%84%e5%bd%b1%e5%93%8d&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=900way.spaces.live.com&amp;amp;GT1=900way"&gt;</description><comments>http://900way.spaces.live.com/Blog/cns!5725A352704005E5!156.entry#comment</comments><guid isPermaLink="true">http://900way.spaces.live.com/Blog/cns!5725A352704005E5!156.entry</guid><pubDate>Thu, 16 Mar 2006 02:01:51 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://900way.spaces.live.com/blog/cns!5725A352704005E5!156/comments/feed.rss</wfw:commentRss><wfw:comment>http://900way.spaces.live.com/Blog/cns!5725A352704005E5!156.entry#comment</wfw:comment><dcterms:modified>2006-03-16T02:06:01Z</dcterms:modified></item><item><title>Mysql数据表是MyISAM格式，是什么意思？</title><link>http://900way.spaces.live.com/Blog/cns!5725A352704005E5!155.entry</link><description>&lt;div&gt;&lt;font face="Tahoma,宋体"&gt;MyISAM 表。MyISAM 存储格式自版本 3.23 以来是 MySQL 中的缺省类型，它有下列特点：&lt;br&gt;&lt;br&gt;■ 如果操作系统自身允许更大的文件，那么文件比 ISAM 存储方法的大。&lt;br&gt;&lt;br&gt;■ 数据以低字节优先的机器独立格式存储。这表示可将表从一种机器拷贝到另一种机器，即使它们的体系结构不同也可以拷贝。&lt;br&gt;&lt;br&gt;■ 数值索引值占的存储空间较少，因为它们是按高字节优先存储的。索引值在低位字节中变化很快，因此高位字节更容易比较。&lt;br&gt;&lt;br&gt;■ AUTO_INCREMENT 处理比 ISAM 的表更好。详细内容在第2章讨论。&lt;br&gt;&lt;br&gt;■ 减少了几个索引限制。例如，可对含 NULL 值的列进行索引，还可以对 BLOB 和 TEXT 类型的列进行索引。&lt;br&gt;&lt;br&gt;■ 为了改善表的完整性检查，每个表都具有一个标志，在 myisamchk 对表进行过检查后，设置该标志。可利用 myisamchk - fast 跳过对自前次检查以来尚未被修改过表的检查，这样使此管理任务更快。表中还有一个指示表是否正常关闭的标志。如果服务器关闭不正常，或机器崩溃，此标志可用来检测出服务器起动时需要检查的表。&lt;/font&gt;&lt;/div&gt;
&lt;p&gt; &lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=6279604829903914469&amp;page=RSS%3a+Mysql%e6%95%b0%e6%8d%ae%e8%a1%a8%e6%98%afMyISAM%e6%a0%bc%e5%bc%8f%ef%bc%8c%e6%98%af%e4%bb%80%e4%b9%88%e6%84%8f%e6%80%9d%ef%bc%9f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=900way.spaces.live.com&amp;amp;GT1=900way"&gt;</description><comments>http://900way.spaces.live.com/Blog/cns!5725A352704005E5!155.entry#comment</comments><guid isPermaLink="true">http://900way.spaces.live.com/Blog/cns!5725A352704005E5!155.entry</guid><pubDate>Thu, 16 Mar 2006 01:49:17 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://900way.spaces.live.com/blog/cns!5725A352704005E5!155/comments/feed.rss</wfw:commentRss><wfw:comment>http://900way.spaces.live.com/Blog/cns!5725A352704005E5!155.entry#comment</wfw:comment><dcterms:modified>2006-03-16T01:49:17Z</dcterms:modified></item></channel></rss>