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

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

ID:10747453

大小:72.00 KB

页数:6页

时间:2018-07-08

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

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

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

2、SQL_STMT变量,与对应的查询字符串绑定,字符串中的问号代表要传入的变量,每个问号都必须指定一个变量.  查询,输入每个指定的变量,传入MYSQL_STMT变量用可用的连接句柄执行.  代码如下:  //1.绑定  boolCDBManager::BindInsertStmt(MYSQL*connecthandle)  {  //作插入操作的绑定  MYSQL_BINDinsertbind[FEILD_NUM];  if(m_stInsertParam==NULL)  m_stInsertParam=ne_stInsertStmt=mysql_stmt_i

3、nit(connecthandle);  //构建绑定字符串  charinsertSQL[SQL_LENGTH];  strcpy(insertSQL,insertintoHostCache(SessionID,ChannelID,ISPType,  ExternalIP,ExternalPort,InternalIP,InternalPort)  values(?,?,?,?,?,?,?));  mysql_stmt_prepare(m_stInsertStmt,insertSQL,strlen(insertSQL));  intparam_count=m

4、ysql_stmt_param_count(m_stInsertStmt);  if(param_count!=FEILD_NUM)  returnfalse;  //填充bind结构数组,m_sInsertParam是这个statement关联的结构变量  memset(insertbind,0,sizeof(insertbind));  insertbind[0].buffer_type=MYSQL_TYPE_STRING;  insertbind[0].buffer_length=ID_LENGTH/*-1*/;  insertbind[0].buffe

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

6、.length=0;  insertbind[2].buffer_type=MYSQL_TYPE_TINY;  insertbind[2].buffer=(char*)m_stInsertParam->ISPtype;  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]

7、.is_null=0;  insertbind[3].length=0;  insertbind[4].buffer_type=MYSQL_TYPE_SHORT;  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_stInsertPara

8、m->internalIP;  

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

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

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