mysql 性能测试
mysql 性能测试
机器配置
drivers : mysql odbc 3.51
program : vb 6.0
database : mysql 4.01. nt
member : 256 ddr
cpu : 1.2g
测试数据量为14w ,200w
select 测试!
第一个测试
select count(*) from tbl_outgoing_log ;
很短的时间 不用网络的情况下(0.00sec)
mysql => 0sec
vb =>0ms~10ms
1000 次的测试0.679ms
200w
mysql => 0sec
vb =>0ms~10ms
1000 次的测试0.679ms
第二个测试
select count(*) from tbl_outgoing_log where adate <"20050301";
14w
mysql => 1790ms
vb =>1769ms
200w
vb =>124,219
第三个测试
select count(*) from tbl_outgoing_log where id <100000000;
14w
mysql => 113ms
vb=>91.842ms
200w
vb=>1452
测试的结果告诉我们 影响速度的方面有如下
1.where 条件
2.条件的比较的时候,字段类型有很大的区别 没有索引的情况下 速度 midiumint >int > char > varchr > datatime
插入1000条 7910MS
插入500,000 318,728ms 0.637456 ms/record
测试update
在每有索引的情况下
200w 114154ms
有索引的情况下
200w
有索引的情况下
30~150ms
测试delete 1723523
245,813ms
看起来速度还不错,200w的数据在这样的情况下30ms因该不会有什么问题!
这是没有任何优化的情况下的测试数据,明天压力测试一下看看!
相关文档:
select * for update锁表的问题
由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。
举个例子:
假设有个表单products ,里面有id跟name二个栏位,id是主键。
例1: (明确指定主键,并且有此笔资料, ......
linux
mysql
安装介绍:
linux
服务器 RedHat 5.0.server.
MySQL
版本:
下载地址链接:http://dev.mysql
.com/downloads/mysql
/5.1.html
MySQL
服务端:MySQL
-server-community-5.1.38-0.rhel5.i386.rpm
MySQL
客户端:MySQL
-client-community-5.1.38-0.rhel5.i386.rpm
1 安装步骤首先加载光驱 ......
1、编辑MySQL配置文件:
windows环境中:%MySQL_installdir%\my.ini //一般在MySQL安装目录下有my.ini即MySQL的配置文件。
linux环境中:/etc/my.cnf
在[MySQLd]配置段添加如下一行:
skip-grant-tables
保存退出编辑。
2、然后重启MySQL服务
windows环境中:
net stop MySQL
net start MySQL
linux环境中:
/e ......
InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)、多版本并发控制(multi-versioned concurrency control)的事务安全(transaction-safe (ACID compliant))型表。InnoDB 提供了行级锁(locking on row level),提供与 Oracle 类似的不加锁读取(non-locking read in SELEC ......
InnoDB也支持外键约束。InnoDB中对外键约束定义的语法看起来如下:
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
[ON UPDATE ......