Kenny 2007-12-12 20:12
提高MySQL查询效率的三个技巧
<p><P> <a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, 'MySQL');" target="_self"><u><strong>MySQL</strong></u></a>由于它本身的小巧和操作的高效, 在<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, '%CA%FD%BE%DD%BF%E2');" target="_self"><u><strong>数据库</strong></u></a>应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由于P2P的应用中,结点数动辄上万个,而且节点变化频繁,因此一定要保持查询和插入的高效.以下是我在使用过程中做的提高效率的三个有效的尝试.</P><P> <STRONG>使用statement进行绑定查询</STRONG></P><P> 使用statement可以提前构建查询语法树,在查询时不再需要构建语法树就直接查询.因此可以很好的提高查询的效率. 这个<a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, '%B7%BD%B7%A8');" target="_self"><u><strong>方法</strong></u></a>适合于查询条件固定但查询非常频繁的场合.</P><P> 使用方法是:</P><UL><LI> 绑定, 创建一个MYSQL_STMT变量,与对应的查询字符串绑定,字符串中的问号代表要传入的变量,每个问号都必须指定一个变量. <LI> 查询, 输入每个指定的变量, 传入MYSQL_STMT变量用可用的连接句柄执行.</LI></UL><P> <a href="http://www.phpchina.com/javascript:;" onClick="javascript:tagshow(event, '%B4%FA%C2%EB');" target="_self"><u><strong>代码</strong></u></a>如下:</P><P><TABLE style="BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellSpacing=0 cellPadding=6 width="95%" align=center border=0><TBODY><TR><TD style="WORD-WRAP: break-word" bgColor=#f3f3f3><DIV twffan="done">//1.绑定