当前位置: 网学 > 编程文档 > MySQL > 正文

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/08/02
sp;                strcpy(hostcache[i].sessionid, row[0]);              if(row != NULL)                     hostcache[i].externalIP   = atoi(row);              if(row != NULL)                     hostcache[i].externalPort = atoi(row);              if(row != NULL)                     hostcache[i].internalIP   = atoi(row);              if(row != NULL)                     hostcache[i].internalPort = atoi(row);                   }       //释放结果集内容       mysql_free_result(pResultSet);       return iReturnNumRows;} l         使用连接池管理连接.在有大量节点访问的数据库设计中,经常要使用到连接池来管理所有的连接.一般方法是:建立两个连接句柄队列,空闲的等待使用的队列和正在使用的队列.当要查询时先从空闲队列中获取一个句柄,插入到正在使用的队列,再用这个句柄做数据库操作,完毕后一定要从使用队列中删除,再插入到空闲队列.设计代码如下: //定义句柄队列typedef std::list<MYSQL *> CONNECTION_HANDLE_LIST;typedef std::list<MYSQL *>::iterator CONNECTION_HANDLE_LIST_IT; //连接数据库的参数结构class CDBParameter            {public:       char *host;                                 ///<主机名       char *user;                                 ///<用户名       char *password;                         ///<密码       char *database;                           ///<数据库名       unsigned int port;                 ///<端口,一般为0       const char *Unix_socket;      ///<套接字,一般为NULL       unsigned int client_flag; ///<一般为0}; //创建两个队列CONNECTION_HANDLE_LIST m_lsBusyList;                ///<正在使用的连接句柄CONNECTION_HANDLE_LIST m_lsIdleList;                  ///<未使用的连接句柄 //所有的连接句柄先连上数据库,加入到空闲队列中,等待使用.bool CDBManager::Connect(char * host /* = "localhost" */, char * user /* = "chenmin" */,                
  • 上一篇资讯: MySQL中group_concat函数
  • 网学推荐

    免费论文

    原创论文

    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号