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

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/08/02
bsp;      return iReturnNumRows;} //2.使用limit版int CDBManager::QueryHostCache(MYSQL * connecthandle, char * channelid, unsigned int myexternalip, int ISPtype, CHostCacheTable * hostcache){       //首先获取满足结果的记录条数,再使用limit随机选择指定条记录返回       MYSQL_ROW row;       MYSQL_RES * pResultSet;       char selectSQL[SQL_LENGTH];       memset(selectSQL, 0, sizeof(selectSQL));        sprintf(selectSQL,"select count(*) from HostCache where ChannelID = '%s' and ISPtype = %d", channelid, ISPtype);       if(mysql_real_query(connecthandle, selectSQL, strlen(selectSQL)) != 0)   //检索              return 0;       pResultSet = mysql_store_result(connecthandle);       if(!pResultSet)                    return 0;       row = mysql_fetch_row(pResultSet);       int iAllNumRows = atoi(row[0]);       mysql_free_result(pResultSet);       //计算待取记录的上下范围       int iLimitLower = (iAllNumRows <= RETURN_QUERY_HOST_NUM)?              0:(rand()%(iAllNumRows - RETURN_QUERY_HOST_NUM));       int iLimitUpper = (iAllNumRows <= RETURN_QUERY_HOST_NUM)?              iAllNumRows:(iLimitLower + RETURN_QUERY_HOST_NUM);       //计算待返回的结果数       int iReturnNumRows = (iAllNumRows <= RETURN_QUERY_HOST_NUM)?               iAllNumRows:RETURN_QUERY_HOST_NUM;             //使用limit作查询       sprintf(selectSQL,"select SessionID, ExternalIP, ExternalPort, InternalIP, InternalPort "              "from HostCache where ChannelID = '%s' and ISPtype = %d limit %d, %d"              , channelid, ISPtype, iLimitLower, iLimitUpper);       if(mysql_real_query(connecthandle, selectSQL, strlen(selectSQL)) != 0)   //检索              return 0;       pResultSet = mysql_store_result(connecthandle);       if(!pResultSet)              return 0;       //获取逐条记录       for(int i = 0; i<iReturnNumRows; i++)       {              //获取逐个字段              row = mysql_fetch_row(pResultSet);              if(row[0] != NULL)    &nb
  • 上一篇资讯: MySQL中group_concat函数
  • 网学推荐

    免费论文

    原创论文

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