MySQL数据库技术(25)

2016-02-19 20:32 5 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是MySQL数据库技术(25),一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

  4.6 管理员的优化

    前面各段介绍了普通的MySQL 用户利用表创建和索引操作,以及利用查询的编写能够进行的优化。不过,还有一些只能由MySQL 管理员和系统管理员来完成的优化,这些管理员在MySQL 服务器或运行MySQL 的机器上具有控制权。有的服务器参数直接适用于查询处理,可将它们打开。而有的硬件配置问题直接影响查询处理速度,应该对它们进行调整。

    4.6.1 服务器参数

    服务器有几个能够改变从而影响其操作的参数(或称变量)。有关服务器参数优化的综合介绍请参见第11章,但其中几个参数主要与查询有关,有必要在此提一下:

    ■ delayed _ queue _ size

    此参数在执行其他INSERT DELAYED 语句的客户机阻塞以前,确定来自INSERT DELAYED 语句的放入队列的行的数目。增加这个参数的值使服务器能从这种请求中接收更多的行,因而客户机可以继续执行而不阻塞。

    ■ key _ buffer _ size

    此参数为用来存放索引块的缓冲区尺寸。如果内存多,增加这个值能节省索引创建和修改的时间。较大的值使MySQL 能在内存中存储更多的索引块,这样增加了在内存中找到键值而不用读磁盘块的可能性。在MySQL 3.23 版及以后的版本中,如果增加了键缓冲区的尺寸,可能还希望用- - init -file 选项启动服务器。这样能够指定一个服务器启动时执行的SQL 语句文件。如果有想要存放在内存中的只读表,可将它们拷贝到索引查找非常快的HEAP 表。

    4.6.2 硬件问题

    可利用硬件更有效地改善服务器的性能:

    ■ 在机器中安装更多的内存。这样能够增加服务器的高速缓存和缓冲区的尺寸,使服务器更经常地使用存放在内存中的信息,降低从磁盘取信息的要求。

    ■ 如果有足够的RAM 使所有交换在内存文件系统中完成,那么应该重新配置系统,去掉所有磁盘交换设置。否则,即使有足以满足交换的R A M,某些系统仍然要与磁盘进行交换。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

    ■ 增加更快的磁盘以减少I/O 等待时间。寻道时间是这里决定性能的主要因素。逐字地移动磁头是很慢的,一旦磁头定位,从磁道读块则较快。

    ■ 在不同的物理设备上设法重新分配磁盘活动。如果可能,应将您的两个最繁忙的数据库存放在不同的物理设备上。请注意,使用同一物理设备上的不同分区是不够的。这样没有帮助,因为它们仍将争用相同的物理资源(磁盘头)。移动数据库的过程在第1 0章中介绍。

    在将数据重新放到不同设备之前,应该保证了解该系统的装载特性。如果在特定的物理设备上已经有了某些特定的主要活动,将数据库放到该处实际上可能会使性能更坏。例如,不要把数据库移到处理大量Web 通信的Web 服务器设备上。

    ■ 在设置MySQL 时,应该配置其使用静态库而不是共享库。使用共享库的动态二进制系统可节省磁盘空间,但静态二进制系统更快(然而,如果希望装入用户自定义的函数,则不能使用静态二进制系统,因为UDF 机制依赖于动态连接)。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1623937.html

延伸阅读
4.2 MySQL 查询优化程序     在发布一个选择行的查询时, MySQL 进行分析,看是否能够对它进行优化,使它执行更快。本节中,我们将研究查询优化程序怎样工作。更详细的信息,可参阅MySQL 参考指南中的“Getting Maximum Performance from MySQL”,该章描述了MySQL 采用的各种优化措施。该章中的信息会不断变化,因为MySQL...
6.4 客户机程序3—产生连接代码模块     对于我们的第三个客户机程序,即客户机程序3,通过将它封装到函数do_connect() 和do_disconnect() 中,将使连接和断开代码更加模块化,这样可以很容易地由多个客户机程序使用。这提供一种选择,可将连接代码精确地嵌入到main() 函数中。无论如何,对在应用程序过程中套用老调的任何...
6.7 客户机程序5—交互式查询程序     让我们把迄今为止研究的诸多内容整理一下,编写一个简单的交互式客户机程序。它的功能包括可以进入查询,用通用目标查询处理程序process_query 执行查询,并用前面研究过的显示格式process_result_set() 显示查询结果。     客户机程序5在某些方面与mysql 类似,虽...
    3.6 检索记录     除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处。这就是SELECT 语句的用途,即帮助取出数据。SELECT 大概是SQL 语言中最常用的语句,而且怎样使用它也最为讲究;用它来选择记录可能相当复杂,可能会涉及许多表中列之间的比较。SELECT 语句的语法如下: &nbs...
6.8 其他主题     本节包括几个主题,这些主题不完全适合于本章从client1 到client5 的开发中的任一小节的内容:     ■ 在使用结果集元数据帮助验证这些数据适合于计算之后,使用结果集数据计算结果。     ■ 如何处理很难插入到查询中的数据。     ■ 如何处理图形数...

经验教程

556

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部