当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 本文讨论一些常见的MySQLC API 程序设计错误,以及如何避免其发生(这些问题在MySQL邮件清单中会周期性地突然出现)。
 

 

 ·mysql调度与锁定问题    »显示摘要«
    摘要:mysql还允许影响语句的调度特性,这样会使来自几个客户机的查询更好地协作,从而单个客户机不会被锁定太长的时间。更改调度特性还能保证特定的查询处理得更快。我们先来看一下mysql的缺省调度策略,然后来看看为改变这个策略可使用什么样的选项。出于讨论的目的,假设执行检索( select)的客户机程序为读取程序。执行修改表操作( delete,insert,replace 或up date)的另一个客户......
 ·mysql索引分析和优化(1)    »显示摘要«
    摘要:索引索引用来快速地寻找那些具有特定值的记录,所有mysql索引都以b-树的形式保存。如果没有索引,执行查询时mysql必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,mysql无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。 假......


需要避免的MYSQL客户机程序设计错误

本文讨论一些常见的mysqlc api 程序设计错误,以及如何避免其发生(这些问题在mysql邮件清单中会周期性地突然出现).

我们已经通过传递null 参数调用了mysql_ i n i t ( ),这就是让它分配并且初始化mysql 结构,然后返回一个指针.另外一种方法是将指针传递到一个已有的mysql 结构中.在这种情况下, mysql_init() 会将结构初始化并返回一个指针,而不必自己分配结构.如果要使用第二种方法,则要小心会出现一些微妙的问题.下面的讨论指出了需要注意的一些问题.如果将一个指针传递给mysql_ init( ),它应该实际指向某些东西.看下面的代码段: 【程序编程相关:选用单防火墙DMZ还是双防火墙DMZ

1. 错误1——使用未初始化的连接处理程序指针 【推荐阅读:统一威胁管理设备很快将取代现有的防火墙设

这个问题是,mysql_init() 得到了一个指针,但指针没有指向所知的任何地方.conn 是一个局部变量,因此在main() 开始执行时它是一个能指向任何地方的未初始化的存储器,这就是说mysql_init() 将使用指针,并可在内存的一些任意区域滥写.如果幸运的话, conn 将指向您的程序地址空间的外部,这样,系统将立即终止,使您能尽早意识到代码中出现的问题. 【扩展信息:全面分析防火墙及防火墙的渗透(1)

560)this.style.width=560; onmousewheel = javascript:return big(this) height=114 src="/files/uploadimg/20051129/1650040.jpg" width=214>

如果不幸的话, conn 将指向程序中以后才使用的一些数据的内部,直到再次使用那个数据时才发现问题.因此实际出现问题的地方远比执行程序时出现的问题多,也更难捕捉到.
...   下一页

    摘要:在《用mysql创建数据库和数据库表》文章中,我们如何创建一个数据库和数据库表,并知道如何向数据库表中添加记录。 那么我们如何从数据库表中检索数据呢? 1、从数据库表中检索信息 实际上,前面我们已经用到了select语句,它用来从数据库表中检索信息。 select语句格式一般为: select 检索关键词 from 被检索的表 where 检索条件(可选) 以前所使用的“ * ”表示选择所有的列。......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE