当前位置:首页 > 日记 > 正文

MySQL数据库查询优化MySQL效率页面13

MySQL数据库查询优化MySQL效率页面13
提高MySQL查询效率的三个技巧
MySQL由于其体积小和运行效率高,在数据库应用中得到越来越广泛的应用。当我在一个P2P应用程序开发中使用了MySQL来保存P2P节点时,由于p2p的应用,成千上万的节点和节点频繁变化,所以一定要保持高效的查询并插入以下三个有效的。我试着在做的过程中提高效率。

l使用语句进行绑定查询
使用语句可以提前建立查询语法树,不需查询就能直接查询。它能很好地提高查询效率。该方法适用于查询条件固定但查询频繁的场合。
使用方法是:
结合,创造一个mysql_stmt变量绑定到相应的查询字符串,字符串中的问号代表要输入的变量,每个问号必须指定一个变量。
查询,输入每一个指定的变量,和传入的mysql_stmt变量执行可用的连接处理。
代码如下:
复制代码代码如下所示:
1。结合
布尔cdbmanager::BindInsertStmt(mysql * connecthandle)
{
使插入操作绑定
mysql_bind insertbind { feild_num };
如果(m_stinsertparam = null)
m_stinsertparam =新chostcachetable;
m_stinsertstmt = mysql_stmt_init(connecthandle);
构建/绑定字符串
insertsql sql_length } { char;
Strcpy(insertsql,插入hostcache(SessionID,channelid,ISPType,)
externalip,ExternalPort,internalip,internalport)。
值(,);
mysql_stmt_prepare(m_stinsertstmt,insertsql,strlen(insertsql));
国际param_count = mysql_stmt_param_count(m_stinsertstmt);
如果(param_count!= feild_num)
返回false;
结合/ m_sinsertparam充满结构数组,声明结构变量的关系
memset(insertbind,0,sizeof(insertbind));
insertbind { 0 }。buffer_type = mysql_type_string;
insertbind { 0 }。buffer_length = id_length 1 / * * /;
insertbind { 0 }。缓冲=(char *)m_stinsertparam -> SessionID;
insertbind { 0 }。is_null = 0;
insertbind { 0 }。长度= 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 }。长度= 0;

insertbind { 2 }。buffer_type = mysql_type_tiny;
insertbind { 2 }。缓冲=(char *)m_stinsertparam -> isptype;
insertbind { 2 }。is_null = 0;
insertbind { 2 }。长度= 0;

insertbind { 3 }。buffer_type = mysql_type_long;
insertbind { 3 }。缓冲=(char *)m_stinsertparam -> externalip;
insertbind { 3 }。is_null = 0;
insertbind { 3 }。长度= 0;

insertbind { 4 }。buffer_type = mysql_type_short;
insertbind { 4 }。缓冲=(char *)m_stinsertparam -> externalport;
insertbind { 4 }。is_null = 0;
insertbind { 4 }。长度= 0;

insertbind { 5 }。buffer_type = mysql_type_long;
insertbind { 5 }。缓冲=(char *)m_stinsertparam -> internalip;
insertbind { 5 }。is_null = 0;
insertbind { 5 }。长度= 0;

insertbind { 6 }。buffer_type = mysql_type_short;
insertbind { 6 }。缓冲=(char *)m_stinsertparam -> internalport;
insertbind { 6 }。is_null = 0;
insertbind { 6 }。is_null = 0;
绑定
如果(mysql_stmt_bind_param(m_stinsertstmt,insertbind))
返回false;
返回true;
}

2。查询
布尔cdbmanager::inserthostcache2(mysql * connecthandle,char * channelid SessionID,char *,int ISPtype,
unsigned int型、无符号短整型,短整型,IIP,iPORT)
{
/ /填充结构变量m_sinsertparam
Strcpy(m_stinsertparam -> SessionID,SessionID);
Strcpy(m_stinsertparam -> channelid,channelid);
m_stinsertparam -> isptype = isptype;
m_stinsertparam -> externalip = EIP;
m_stinsertparam -> externalport =报;
m_stinsertparam -> internalip = IIP;
m_stinsertparam -> internalport = iPORT;
执行语句,性能瓶颈
如果(mysql_stmt_execute(m_stinsertstmt))
返回false;
返回true;
}

相关文章

升级到Win8.1RTMISO图像和保留个人

升级到Win8.1RTMISO图像和保留个人

数据,图像,升级到,方式,电脑软件,注释:使用ISO镜像还可以从Windows 8.1预览版升级到RTM,以便保留原始个人数据。事实上,这是很简单的修改Windows 8.1 ISO镜像文件cversion.ini。 所有版本的Windows 8.1 RTM已被泄露。所以如果你不想等到十月…

windows7系统无法连接到网络解决方

windows7系统无法连接到网络解决方

网络,解决方案,系统,连接到,电脑软件,点评:现在越来越多的笔记本安装win7系统,以其方便实用的功能被大家所接受,并使用Win7连接到一个无线网络,是现在最流行的无线互联网,但相反,win7无线网络连接会出现各种问题,让我们一起来看看如何解决无线无法…

对winaw32.exe-过程winaw32是什么

对winaw32.exe-过程winaw32是什么

过程,电脑软件,exe,评论:winaw32.exe - winaw32过程 进程文件:winaw32或winaw32.exe 进程名称:pcAnywhere的用户界面 过程类别:安全风险的过程 英文描述: winaw32.exe是一个过程,属于赛门铁克pcAnywhere远程控制解决方案,它允许在本地或广域网远…

改变windows7系统登陆界面的方法

改变windows7系统登陆界面的方法

系统,方法,登陆界面,电脑软件,注释:Windows 7启动器和Windows 7 Home Basic有其他方法更改登录界面背景。这里我们介绍改变Windows7的登陆界面的方法。 Windows 7用户现在可以改变他们的登录界面的背景。但要达到这一步,用户必须修改注册表,创…

在Win7系统下建立FTP服务器的图形

在Win7系统下建立FTP服务器的图形

文字,服务器,系统,图形,教程,点评:本章教你用win7的IIS建立一个简单的FTP服务器。在阅读这篇文章前,请确认您的系统版本是Win7旗舰版,与其他版本似乎没有IIS。 在IIS中设置FTP服务器教程WIN7,地图小了一点,请大家多多包涵! 今天,我会用WIN7的IIS…

联想笔记本表明SecureBoot不匹配从

联想笔记本表明SecureBoot不匹配从

桌面,升级,联想,右下角,不匹配,点评:联想笔记本从桌面提示Win8升级Win8.1桌面右下角的SecureBoot配置不正确,对朋友要看需要 升级Win8.1后,进入桌面,桌面的右下角显示配置不正确的。 原因分析: 解决方案: BIOS处理的两种模式: BIOS的第一个模…

用excel绘制空心椭圆标

用excel绘制空心椭圆标

标绘,绘制,椭圆,电脑软件,excel,核心提示:有时我们要注意一张图片或某个表格,当我们用Excel绘制一个空心椭圆时。1做你的图表和手表。2打开视图-工具栏-绘图,将有一行命令按钮来选择一个你需要画的椭圆标记。3标记椭圆…有时我们想注意一张图…

freedom.exe的过程是什么自由进程

freedom.exe的过程是什么自由进程

进程,查询,过程,功能,自由,点评:freedom.exe是自由公司相关程序和广告拦截,保护个人信息和密码加密 进程文件:自由或freedom.exe 过程名称:自由 过程类别:安全风险的过程 英文描述: freedom.exe执行自由,一个用于块广告应用,和第二部分的块是兴 …

在excel2010工作簿快速输入数据

在excel2010工作簿快速输入数据

数据,输入,快速,工作,电脑软件,在excel2010工作簿中处理数据,首先必须在工作簿的单元格中输入数据,然后,你可能需要调整的数据,这样就可以看到数据,让数据显示你想要的方式。 调整设置 如果要在单元格中自动换行,选择需要格式化的单元格,然后在开…

为什么Windows拒绝删除文件时访问

为什么Windows拒绝删除文件时访问

删除文件,电脑软件,Windows,点评:windows的一个小朋友一定遇到过这样的情况。删除文件时,它会提示拒绝文件访问。XXX需要对该文件进行更改。 Windows合作伙伴肯定遇到过这样的情况。删除文件时,拒绝立即访问。许可是必需由XXX更改文件。对于普…

病态的美妆美人|的人。

病态的美妆美人|的人。

的人,病态,美人,电脑软件,如果你变成风|我变成雨 真正的妹妹。|真正的兄弟。 由于固体|监狱。 谁愿意|,谁忍不住。 有一种失落感。|掺杂。 )。我爱你,你爱她|)。 他的恶魔|他的亲 |的依赖依赖,肆无忌惮的放肆 喜欢你,想做|俄罗斯,乐乐的人…

哪里是win7的电源管理计算机配置的

哪里是win7的电源管理计算机配置的

电源管理,项目,计算机配置,课程,电脑软件,点评:在win7系统win7的电源管理功能更加强大,我们可以访问节能电脑配置win7的电源管理方案,也可以设置最佳节能模式,实现最小功耗模式,它也可以减少热量的电脑散热量 据调查,发现许多电脑用户都安装了Win…