提高mysql查询效率的三个技巧--

提高mysql查询效率的三个技巧--

ID:10725836

大小:72.00 KB

页数:6页

时间:2018-07-07

提高mysql查询效率的三个技巧--_第1页
提高mysql查询效率的三个技巧--_第2页
提高mysql查询效率的三个技巧--_第3页
提高mysql查询效率的三个技巧--_第4页
提高mysql查询效率的三个技巧--_第5页
资源描述:

《提高mysql查询效率的三个技巧--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、提高MySQL查询效率的三个技巧>>  MySQL由于它本身的小巧和操作的高效,在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由于P2P的应用中,结点数动辄上万个,而且节点变化频繁,因此一定要保持查询和插入的高效.以下是我在使用过程中做的提高效率的三个有效的尝试.  使用statement进行绑定查询  使用statement可以提前构建查询语法树,在查询时不再需要构建语法树就直接查询.因此可以很好的提高查询的效率.这个方法适合于查询条件固定但查询非常

2、频繁的场合.  使用方法是:  绑定,创建一个MYSQL_STMT变量,与对应的查询字符串绑定,字符串中的问号代表要传入的变量,每个问号都必须指定一个变量.  查询,输入每个指定的变量,传入MYSQL_STMT变量用可用的连接句柄执行.  代码如下:  //1.绑定  boolCDBManager::BindInsertStmt(MYSQL*connecthandle)  {  //作插入操作的绑定  MYSQL_BINDinsertbind[FEILD_NUM];  if(m_stInsertPar

3、am==NULL)  m_stInsertParam=ne_stInsertStmt=mysql_stmt_init(connecthandle);  //构建绑定字符串  charinsertSQL[SQL_LENGTH];  strcpy(insertSQL,insertintoHostCache(SessionID,ChannelID,ISPType,  ExternalIP,ExternalPort,InternalIP,InternalPort)  values(?,?,?,?,?,?,?)

4、);  mysql_stmt_prepare(m_stInsertStmt,insertSQL,strlen(insertSQL));  intparam_count=mysql_stmt_param_count(m_stInsertStmt);  if(param_count!=FEILD_NUM)  returnfalse;  //填充bind结构数组,m_sInsertParam是这个statement关联的结构变量  memset(insertbind,0,sizeof(insertbind)

5、);  insertbind[0].buffer_type=MYSQL_TYPE_STRING;  insertbind[0].buffer_length=ID_LENGTH/*-1*/;  insertbind[0].buffer=(char*)m_stInsertParam->sessionid;  insertbind[0].is_null=0;  insertbind[0].length=0;  insertbind[1].buffer_type=MYSQL_TYPE_STRING;  

6、insertbind[1].buffer_length=ID_LENGTH/*-1*/;  insertbind[1].buffer=(char*)m_stInsertParam->channelid;  insertbind[1].is_null=0;  insertbind[1].length=0;  insertbind[2].buffer_type=MYSQL_TYPE_TINY;  insertbind[2].buffer=(char*)m_stInsertParam->ISPt

7、ype;  insertbind[2].is_null=0;  insertbind[2].length=0;  insertbind[3].buffer_type=MYSQL_TYPE_LONG;  insertbind[3].buffer=(char*)m_stInsertParam->externalIP;  insertbind[3].is_null=0;  insertbind[3].length=0;  insertbind[4].buffer_type=MYSQL_TYPE_SHO

8、RT;  insertbind[4].buffer=(char*)m_stInsertParam->externalPort;  insertbind[4].is_null=0;  insertbind[4].length=0;  insertbind[5].buffer_type=MYSQL_TYPE_LONG;  insertbind[5].buffer=(char*)m_stInsertParam->internalIP;  inser

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。