<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog]]></title> 
<link>http://www.bizeway.net/index.php</link> 
<description><![CDATA[网务通 - 网务公司发展之路]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog]]></copyright>
<item>
<link>http://www.bizeway.net/read.php?</link>
<title><![CDATA[一些 Mysql 的优化经验]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[MySQL]]></category>
<pubDate>Sun, 12 Aug 2007 15:22:55 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?</guid> 
<description>
<![CDATA[ 
	<strong>数据库结构 </strong><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">字段类型的定义时遵循以下规则: <br/>选用字段长度最小 <br/>优先使用定长型 <br/>尽可能的定义 "NOT NULL" <br/>数值型字段中避免使用 "ZEROFILL" <br/>如果要储存的数据为字符串, 且可能值已知且有限, 优先使用 enum 或 set</div></div><br/><br/><strong>索引的优化</strong><br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">被索引的字段的长度越小, 该索引的效率越高 <br/>被索引的字段中, 值的重复越少, 该索引的效率越高 <br/>查询语句中, 如果使用了 "group" 子句, 根据其中字段出现的先后顺序建立多字段索引 <br/>查询语句中, 如果使用了 "distinct", 根据其中字段出现的先后顺序建立多字段索引 <br/>"where" 子句中, 出现对同一表中多个不同字段的 "and" 条件时, 按照字段出现的先后顺序建立多字段索引 <br/>"where" 子句中, 出现对同一表中多个不同字段的 "or" 条件时, 对重复值最少的字段建立单字段索引 <br/>进行 "内/外连接" 查询时, 对 "连接字段" 建立索引 <br/>对 "主键" 的 "unique" 索引 毫无意义, 不要使用 <br/>被索引字段尽可能的使用 "NOT NULL" 属性 <br/>对写入密集型表, 尽量减少索引, 尤其是 "多字段索引" 和 "unique" 索引</div></div><br/><br/><strong>查询语句的优化</strong> <br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">多多利用 "explain" 查询索引使用情况, 以便找出最佳的查询语句写法和索引设置方案 <br/>慎用 "select *", 查询时只选出必须字段 <br/>查询使用索引时, 所遍历的索引条数越少, 索引字段长度越小, 查询效率越高 (可使用 "explain" 查询索引使用情况) <br/>避免使用 mysql 函数对查询结果进行处理, 将这些处理交给客户端程序负责 <br/>使用 "limit" 时候, 尽量使 "limit" 出的部分位于整个结果集的前部, 这样的查询速度更快, 系统资源开销更低 <br/>在 "where" 子句中使用多个字段的 "and" 条件时, 各个字段出现的先后顺序要与多字段索引中的顺序相符 <br/>在 "where" 子句 中使用 "like" 时, 只有当通配符不出现在条件的最左端时才会使用索引 <br/>在 mysql 4.1 以上版本中, 避免使用子查询, 尽量使用 "内/外连接" 实现此功能 <br/>减少函数的使用, 如果可能的话, 尽量用单纯的表达式来代替 <br/>避免在 "where" 子句中, 对不同字段进行 "or" 条件查询, 将其拆分成多个单一字段的查询语句效率更高</div></div><br/>Tags - <a href="tag.php?tag=mysql" rel="tag">mysql</a> , <a href="tag.php?tag=%E4%BC%98%E5%8C%96%E7%BB%8F%E9%AA%8C" rel="tag">优化经验</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?&amp;guid=0#topreply</link>
<title><![CDATA[[评论] 一些 Mysql 的优化经验]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?&amp;guid=0#topreply</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>