Mysql5.1 - mysqlslap性能测试工具
看到GOOGLE有一个好东东: TCMalloc:线程缓存的Malloc 对高并发的性能提高很多.想拿来测一把. 于是挑了一个性能测试工具: MYSQL 5.1 带来的mysqlslap性能测试工具. [@more@]1. 安装下载: http://dev.mysql.com/downloads/mysql/5.1.html 这是MYSQL 5.1版本自带的工具. 所以你装完5.1后就可以用了. 在安装过程中,你可能会遇到关于libmysqlclient.so.16的错误. 见: http://steven1981.itpub.net/post/7967/4931012. 使用# 帮助 mysqlslap --help 常用的选项: --concurrency 代表并发数量,多个可以用逗号隔开,当然你也可以用自己的分
装MYSQL 5.1.40遇到的libmysqlclient.so.16 错误
[root@space install]# rpm -Uvh MySQL-client-community-5.1.40-0.rhel5.x86_64.rpmerror: Failed dependencies:libmysqlclient.so.16()(64bit) is needed by MySQL-client-community-5.1.40-0.rhel5.x86_64libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by MySQL-client-community-5.1.40-0.rhel5.x86_64libmysqlclient_r.so.16()(64bit) is needed by MySQL-client-community-5.1.40-0.rhel5.x86_64libmysqlclient_r.so.16(libmysqlclient_16)(64bit) is needed by MySQL-client-community-5.1.40-0.rhel5.x86_64[@more@]
perror error code
MySQL[@more@]"OS error code 1: Operation not permitted""OS error code 2: No such file or directory""OS error code 3: No such process""OS error code 4: Interrupted system call""OS error code 5: Input/output error""OS error code 6: No such device or address""OS error code 7: Argument list too long""OS error code 8: Exec format error""OS error code 9: Bad file descriptor""OS error code 10: No child proces
MYSQL-PROXY的安装与使用
目前MYSQL-PROXY已经有相当的功能, 比如负载平衡,读写分离,失败切换等, 就简单功能做了测试,,,,,[@more@]MySQL Proxy 安装与使用1. MYSQL 安装(略) 2. MYSQL PROXY 安装2.0 获取系统信息 getconf LONG_BIT cat /etc/redhat-release 2.1 下载--二进制版本 (请下载v0.7.0以上)wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz# 具体版本以SETP2.0所得信息而定 2.2 安装2.2.1 #必备软件: LUA cd /opt/installwget http://www.lua.org/ftp/lua-5.1.2.tar.gz tar zxvf lua-5.1.
Myisam-存储引擎-静态格式-DELETED ROWS
在上一节<MYISAM 静态格式数据存储结构>的介绍中,我们对DELETED ROWS留下了疑问:疑问1: 行被删除后,该行有6个字节被重置了,在这里为什么只置6个字节? 为什么需要置这6个字节,光有header不能识别吗?带着疑问,进入我们这一章节.[@more@]--MYISAM 静态格式数据存储结构-DELETED ROWS1. 介绍在上一节<MYISAM 静态格式数据存储结构>的介绍中,我们对DELETED ROWS留下了疑问:疑问1: 行被删除后,该行有6个字节被重置了,在这里为什么只置6个字节? 为什么需要置这6个字节,光有header不能识别吗?带着疑问,进入我们这一章节. 2. 深入研究静
Myisam-存储引擎-动态格式-DELETED ROWS
在上一节<Mysql-MYISAM 动态格式数据存储结构>中,我们简单地谈到了:如果行被删除,那么其标志位为被置为"00".而且行的部分数据会被重新赋值.在这一章节中,我们将详细讨论:在动态格式的表中,如果行数据被删除了,这一行的数据将如何发生变化,以及其数据所包含的具体含义.[@more@]1.测试环境OS : LINUX 2.6.9-42.ELsmpDB : MYSQL 5.0.51aENGINE : MYISAM DEFAULT CHARSET=latin12. 动态格式表中被删除的记录存储2.1 模拟数据drop table if exists heyf ;create table heyf (id int , name varchar(50)) type myisam DEFAULT
MYSQL 数据类型存储-数值型
探索MYSQL 数值类型的存储,以及解读方法.on Engine of myisam[@more@]1. 环境版本: OS : LINUX AS4 MYSQL: 5.0.51a-logENGINE : Myisam DEFAULT CHARSET=latin12. 本章研究的数值类型对象:TINYINT 1个字节 FIXEDSMALLINT 2个字节 FIXEDMEDIUMINT 3个字节 FIXEDINT, INTEGER 4个字节 FIXEDBIGINT 8个字节 FIXEDDECIMAL(M,N) >=4字节 FIXED3. 数值类型: TINYINT SMALLINT MEDIUMINT INT BIGINT 这几种数据存取方式都是一样的: 高位优先存储,符号位(0正,1负)drop table if exists heyf ; create table heyf (id TINYINT ) type myisam D
Myisam-存储引擎-MYI索引文件-2
进一步一剖析MYI索引文件的树形结构存储以及索引块的定位[@more@]1. 绪我们在上一节<Myisam-存储引擎-MYI索引文件-1>中,仔细地探讨了索引文件的结构以及各位的含义.从而让我们了解了MYI. 但是用的例子由于行数比较少, 所有KEY VALUE都存储到了ROOT块. 没有出现多层的索引树结构. 通过这个例子,我们来了解一下,当有索引树出现多层的时候,MYSQL是怎么处理的.2. 创建脚本:drop table if exists heyf ;create table heyf (id char(5)) type myisam DEFAULT CHARSET=latin1;drop procedure if exists proc1;delimiter $$create procedur
Myisam 存储引擎-MYI索引文件-1
深入挖握MYI索引文件的具体存储,以及定位数据文件的方法[@more@]-- Myisam 存储引擎的索引文件.MYI -11. 介绍.MYI文件是MYISAM表的索引文件,它一般与.MYD文件同时创建,并存放在相同的目录中,..MYI索引文件主要包括两个部分: The header information and The key values. 下面我们将从这两个部分介绍索引文件.2. The .MYI Header ".MYI Header "主要包括以下几块内容:Section Occurrences------- -----------state Occurs 1 timebase Occurs 1 timekeydef (including keysegs) Occurs once for each keyrecinfo Occurs once for
MYSQL-数据类型存储-DATE
MYSQL-数据类型存储-DATE on Engine of myisam[@more@]1. 环境版本: OS : LINUX AS4 MYSQL: 5.0.51a-logENGINE : Myisam DEFAULT CHARSET=latin12. 分析date 类型共占3个字节(24位),范围'1000-01-01'到'9999-12-31' , 格式'YYYY-MM-DD' ,其中:从左到右数1~15位: 存储年(共15位)16~19位: 存储月(共4位)20~24位: 存储日(共5位)比如," 2009-03-09",其中:十进制 十六进制 二进制-----------------------------------2009 -> 0X7D9 -> 000 0111 1101 100103 -> 0X03 -> 001109 -> 0X09 -> 01001-----------------
MYsql-存储过程-游标的嵌套
在ITPUB: http://www.itpub.net/viewthread.php?tid=1134085&pid=13049789&page=1&extra=#pid13049789上有人发贴说游标不能嵌套,自己搞了一下,答案确实是..[@more@]create table heyf_6 (empid int , deptid int );insert into heyf_6 values (1,20),(2,30),(5,20),(4,50),(6,20);--按DEPTID从小到大打印各个部分里的EMPIDDROP PROCEDURE IF EXISTS proc_empid;DELIMITER //CREATE PROCEDURE proc_empid()BEGINdeclare done int default 0;declare v_dept int ; declare cur_dept cursor For select distinct deptid from
Myisam 静态格式数据存储结构
Myisam 静态格式 数据的物理存储 行header 内部分析[@more@]1. 从简单的例子开始1.1 创建测试数据drop table if exists heyf_5 ;create table heyf_5 (id int , name char(10),addr char(20)) engine myisam DEFAULT CHARSET=latin1;insert into heyf_5 values (12,'hyf','street-1') ,(13,'steven','street-2') ; system hexdump /opt/mysql/data/test/heyf_5.MYD------------------------------------------------0000000 0cf1 0000 6800 6679 2020 2020 2020 73200000010 7274 6565 2d74 2031 2020 2020 2020 20200000020 2020 f120 0
MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能.
由于MYSQL没有提供类似ORACLE中OVER()这样丰富的分析函数. 所以在MYSQL里需要实现这样的功能,我们只能用一些灵活的办法:[@more@]1.首先我们来创建实例数据:drop table if exists heyf_t10;create table heyf_t10 (empid int ,deptid int ,salary decimal(10,2) ); insert into heyf_t10 values (1,10,5500.00),(2,10,4500.00),(3,20,1900.00),(4,20,4800.00),(5,40,6500.00),(6,40,14500.00),(7,40,44500.00),(8,50,6500.00),(9,50,7500.00);2. 确定需求: 根据部门来分组,显示各员工在部门里按薪水排名名次.显示结果预期如下:+-------+---
mysql开发-动态语句编写-引号使用
我们在写MYSQL存储过程的动态SQL时, 往往是先写好SQL原型,再根据需要来写成动态的形式.但往往这个过程是非常痛苦的,因为在这中间你可以需要处理很多个单引号及一些特殊字符.[@more@]我们在写MYSQL存储过程的动态SQL时, 往往是先写好SQL原型,再根据需要来写成动态的形式.但往往这个过程是非常痛苦的,因为在这中间你可以需要处理很多个单引号及一些特殊字符.(如果你写过ORACLE PL/SQL就会有相会的经验).不过呢,非常幸运的是,在MYSQL中支持双引号". 也就是说你基本不去改SQL原型,MYSQL会原样搬过来.比如,我们要的SQL原型如下: select *