- My SQL数据库实用技术(32)
- 6.4 客户机程序3—产生连接代码模块 对于我们的第三个客户机程序,即客户机程序3,通过将它封装到函数do_connect() 和do_disconnect() 中,将使连接和断开代码更加模块化,这样可以很轻易地由多个客户机程序使用。这提供一种选择,可将连接代码精确地嵌入到main() 函数
- My SQL数据库实用技术(31)
- 6.3 客户机程序2—增加错误检查 我们的第二个客户机程序将像第一个客户机程序一样,但是将修改它们,考虑错误出现的可能性。“将错误检查作为读者的练习”这样的项目在编程文献中相当常见,这或许是因为检查错误相当令人讨厌。但是,我赞同这种观点,即MySQL 客户机程
- My SQL数据库实用技术(30)
- 6.2 客户机程序1—连接到服务器 我们的第一个MySQL 客户机程序很简单:连接到服务器、断开,并退出。它本身并不是非常有用,但是必须知道如何做它,因为实际上用MySQL 数据库做任何事情都必须与服务器连接。这是一个公用的操作,开发创建连接的代码是编写每个客户机程
- My SQL数据库实用技术(29)
- MySQL提供用C编程语言编写的客户机库,可以用它编写访问M y S Q L的客户机程序。这个库定义了应用程序编程接口,包括下面的实用程序: ■ 建立和终止与服务器会话的连接治理例程。 ■ 构造查询的例程,将例程发送到服务器,并处理结果。 ■ 当其他C API调用失败时,确
- My SQL数据库实用技术(28)
- 5.2 选择API 本节介绍根据各种类型的应用程序选择A P I的方法,比较C、DBI 和 PHP API 的能力,并给出它们相对的优点和缺点,并指出什么时候应选择哪一个。 首先应该指出,笔者不认为任一种语言优于其他语言。尽管笔者的确有自己的喜好,但还是统统使用它们。您也会有
- My SQL数据库实用技术(27)
- 5.1 MySQL 可用的API 为了方便应用程序的开发,MySQL 提供了用C 编程语言编写的客户机库,它答应从任何C 程序的内部访问MySQL 数据库。客户机库实现应用程序编程接口( A P I),API 定义客户机程序如何建立和执行与服务器的通信。 然而,使用C 来编写MySQL 程序并不受
- My SQL数据库实用技术(26)
- 在本书的这部分中,我们将讨论编写自己的访问MySQL 数据库的程序所需要知道的内容。MySQL 有一组实用程序。例如, mysqldump 导出表的上下文和结构定义, mysql import将数据文件加载到表中, mysqladmin 实现治理w操作, mysql 可以使用户与服务器交互来执行任意的查
- My SQL数据库实用技术(25)
- 4.6 治理员的优化 前面各段介绍了普通的MySQL 用户利用表创建和索引操作,以及利用查询的编写能够进行的优化。不过,还有一些只能由MySQL 治理员和系统治理员来完成的优化,这些治理员在MySQL 服务器或运行MySQL 的机器上具有控制权。有的服务器参数直接适用于查询处理
- My SQL数据库实用技术(24)
- 4.5 调度与锁定问题 前面各段主要将精力集中在使个别的查询更快上。MySQL 还答应影响语句的调度特性,这样会使来自几个客户机的查询更好地协作,从而单个客户机不会被锁定太长的时间。更改调度特性还能保证特定的查询处理得更快。我们先来看一下MySQL 的缺省调度策略,
- My SQL数据库实用技术(23)
- 4.4 有效地装载数据 很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。相对来说,将数据装入数据库是直截了当的。然而,也存在可用来改善数据装载操作效率的策略,其基本原理如下: ■ 成批装载较单行装载更快,因为
- My SQL数据库实用技术(22)
- 4.3 列类型选择与查询效率 要选择有助于使查询执行更快的列,应遵循如下规则(这里,“BLOB 类型”应该理解为即包含B L O B也包含TEXT 类型): ■ 使用定长列,不使用可变长列。这条准则对被经常修改,从而轻易产生碎片的表来说非凡重要。例如,应该选择CHAR 列而不选
- My SQL数据库实用技术(21)
- 4.2 MySQL 查询优化程序 在发布一个选择行的查询时, MySQL 进行分析,看是否能够对它进行优化,使它执行更快。本节中,我们将研究查询优化程序怎样工作。更具体的信息,可参阅MySQL 参考指南中的“Getting Maximum Performance from MySQL”,该章描述了MySQL 采用的
- My SQL数据库实用技术(19)
- 3.9 MySQL 不支持的功能 本节介绍其他数据库中有而MySQL 中无的功能。它介绍省略了什么功能,以及在需要这些功能时怎么办。一般情况下, MySQL 之所以忽略某些功能是因为它们有负面性能影响。有的功能正在开发者的计划清单上,一旦找到一种方法可以实现相应的功能而又
- My SQL数据库实用技术(17)
- 3.7 加注释 MySQL 答应在SQL 代码中使用注释。这对于说明存放在文件中的查询很有用处。可用两个方式编写注释。以“ #”号开头直到行尾的所有内容都认为是注释。另一种为C 风格的注释。即,以“/ *”开始,以“* /”结束的所有内容都认为是注释。C 风格的注释可跨多行,
- My SQL数据库实用技术(16)
- 3.6 检索记录 除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处。这就是SELECT 语句的用途,即帮助取出数据。SELECT 大概是SQL 语言中最常用的语句,而且怎样使用它也最为讲究;用它来选择记录可能相当复杂,可能会涉及许多表中列之间的比较。SE