实例剖析:MySQL数据库优化详解(5)
作者:叶金荣 来源:天极yesky 发布时间:2008-11-22 12:19:00
1.4 MySQL 基准套件
本章本来要包括MySQL基准套件(以及 crash-me)的技术描述的,但是至今还未写。现在,您可以通过查看MySQL发布源代码 `sql-bench' 目录下的代码以及结果有一个更好的想法。
基准套件就是想告诉用户执行什么样的SQL查询表现的更好或者更差。
请注意,这个基准是单线程的,因此它度量了操作执行的最少时间。我们未来打算增加多线程测试的基准套件。
想要使用基准套件,必备以下几个条件:
基准套件在MySQL的发布源代码中就有。可以去 http://dev.mysql.com/downloads/ 下载发布版或者使用现有开发代码树(详情请看"2.3.3 Installing from the Development Source Tree")。
基准脚本是用Perl写的,它用Perl的DBI模块来连接数据库,因此必须安装DBI模块。并且还需要每个要做测试的服务器上都有特定的BDB驱动程序。例如,为了测试MySQL、PostgreSQL和DB2,就必须安装 DBD::mysql, DBD::Pg 及 DBD::DB2 模块。详情请看"2.7 Perl Installation Note"。
取得MySQL的分发源代码后,就能在 `sql-bench' 目录下看到基准套件。想要运行这些基准测试,请先搭建好服务,然后进入 `sql-bench' 目录,执行 run-all-tests 脚本:
#cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellspacing="0" cellpadding="6" width="95%" align="center" border="0">
以下为引用的内容: shell> cd sql-bench shell> perl run-all-tests --server=server_name server_name 可以是任何一个可用的服务。想要列出所有的可用选项和支持的服务,只要调用以下命令: shell> perl run-all-tests --help |
crash-me 脚本也是放在 `sql-bench' 目录下。crash-me 通过执行真正的查询以试图判断数据库都支持什么特性、性能表现以及限制。例如,它可以判断:
都支持什么字段类型
支持多少索引
支持什么样的函数
能支持多大的查询
VARCHAR 字段类型能支持多大
可以从 http://dev.mysql.com/tech-resources/crash-me.php 上找到各种不同数据库 crash-me 的结果。更多的信息请访问 http://dev.mysql.com/tech-resources/benchmarks。
猜你喜欢
- 本文系统的对HTTP Headers进行了简明易懂的阐述,我仅稍作笔记。什么是HTTP HeadersHTTP是“Hypertext Tra
- 由Oralce8.1开始,Oracle增加了一个新的特性就是Stored Outlines,或者称为Plan Stability(计划稳定性
- 当我们使用访问一个没有声明的变量时,JS会报错;而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量。
- 代码如下:Function splitx(strs1 As String, strs2 A
- 前面我们讲了一些Dreamweaver MX的基本操作,相信大家看了后都会觉得比较简单,的确,这是个工具软件,操作方便应该是它的宗旨。其实网
- mssql的每个varchar、text字段都被自动插入一段js代码,即使删除这段代码,如果没有从源头上解决,几分钟后,js代码就又会自动插
- 1.双击setup.exe.(出现安装向导界面) 2.在安装向导界面:选"基本安装",并选好主目录位置;创建启动数据库(
- 两列布局的定宽自适应已经详解了,三列浮动中有两列定宽一列自适应的也详解了,那么该说说三列浮动中两列自适应一列定宽的布局了。中间定宽,左右两侧
- 最近一直在做Dnn模块的开发,过程中碰到这么一个问题,需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只
- 保留COOKIES一个小时Response.Cookies("MyCookie").Expires= (now
- 在VBScript中,有一个On Error Resume Next语句,它使脚本解释器忽略运行期错误并继续脚本代码的执行。接着该脚本可以检
- 导语:目前点评“2008年10佳改版网站”也许为时尚早,但2008年毕竟已经过去了9个多月,周四又同时有Twitter和FriendFeed
- 有过网页制作经验的朋友一定知道:一般来讲,把表格的边框定义为1px时,即border=1,而实际上是2
- phpMyAdmin 是一套可以通过WEB来管理 MySQL-server 以及单一数据库的 PHP
- 单位的小王学习SQL Server已有一段时间了,已经做了个不错的管理系统,有次小王让我帮着看看库的设计有没有问题,其间我发现他的安全意识非
- 这是一个非常简单的解决方案,柱状图中每一条柱都是一个 div,数据的大小呈现在 div 的宽或高上。 查看演示 例子下载实现的原理
- 在WEB2.0这个词未出现之前,是没有所谓的WEB1.0之说的,那时候的互联网也是没有时代之分的,能上的网站不多,值得上的网站更不多,很多的
- 下拉菜单平常见到的都是用js来实现的,本文介绍的方法是使用纯CSS实现导航下拉菜单功能,代码符合标准,兼容性好且环保,制作下拉菜单的不错选择
- HTML 5 和 XHTML 2规范草稿公布以来,一直存在很大的争议。HTML 5是由包括Google、Mirosoft、Mozilla、O
- 在网上游荡,看着别人的精彩主页难免心里痒痒的,但自己精心布置的家(个人主页),如果在不同的浏览器中呈现