关于mysql archive存储引擎
政府还有一个让数据库专家摊上更多事情的职能,就是安全控制和数据审计。那些管理着海量数据仓库的企业官员常常得回答诸如“何人何时修改了什么”或者“何人何时查看了什么”这样的提问。那些拥有数以千计的员工,开展着不计其数的业务的企业,每天都会产生出大量的日志记录数据,而且必须将其好好保存。为了帮助数据库专家应对数据爆炸的挑战,MySQL5.0引入了一种新的数据存储引擎,叫做Archive。这个先进的数据管理工具,让MySQL的专家们拥有了处理和管理海量数据的新式武器。
Archive引擎作用:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案,区别于InnoDB、MyISAM提供压缩功能,没有索引。
关于Archive存储引擎的介绍和性能测试的文章:http://dev.mysql.com/tech-resources/articles/storage-engine.html
不喜欢英文的童鞋可以看这篇翻译过来的文章(推荐,翻译的不错):http://guangxin.name/2009/04/mysql50-archive-1.html
根据英文的测试结论来看,Archive表比MyISAM表要小大约75%,比支持事务处理的InnoDB表小大约83%。当数据量非常大的时候Archive的插入性能表现会较MyISAM为佳。
Archive表的性能是否可能超过MyISAM?答案是肯定的。根据MySQL工程师的资料,当表内的数据达到1.5GB这个量级,CPU又比较快的时候,Archive表的执行性能就会超越MyISAM表。因为这个时候,CPU会取代I/O子系统成为性能瓶颈。别忘了Archive表比其他任何类型的表执行的物理I/O操作都要少。
较小的空间占用也能在你移植MySQL数据的时候发挥作用。当你需要把数据从一台MySQL服务器转移到另一台的时候,Archive表可以方便地移植到新的MySQL环境,你只需将保存Archive表的底层文件复制过去就可以了。
本着怀疑一切的精神,本人进行了如下的测试:
①建立一个iplog的表:
mysql> create table iplog(id int auto_increment not null primary key,userid int,ip char(15),visit_time datetime) engine=innodb;
②使用python脚本插入50w数据:
#!/usr/bin/mysql
import MySQLdb
conn = MySQLdb.connect(host="localhost",user="root",passwd="asdf",db="test",unix_socket="/data/mysql_3306/mysql.sock")
cursor = conn.cursor()
for i in range(0,500000):
sql = "insert into iplog(userid,ip,visit_time) values(%s,'127.0.0.1',now())"%i
cursor.exe
相关文档:
用InstallAnywhere打包Java程序包含MySQL数据库
InstallAnywhere打包Java程序时可以自动完成jre的打包,但是需要MySQL数据库的程序就得手动添加。资料太少,纠结了三天,终于解决
1、 下载绿色版的MySQL,可以去官网下载。网友制作了MySQL的绿色精简Bat版(http://download.csdn.net/source/524812),可以 ......
MySQL导入导出.sql文件步骤如下:
一.MySQL的命令行模式的设置:
桌面->我的电脑->属性->环境变量->新建->
PATH=“;path\mysql\bin;”其中path为MySQL的安装路径。
二.简单的介绍一下命令行进入MySQL的方法:
1.C:\>mysql -h hostname -u username -p
按ENTER键,等待然后输入密码。这 ......
1)
安装Apache/2.2.14 和 PHP/5.2.12 之后,重新启动Apache,启动失败。查了一些资料,基本上给出的建议是禁掉Extension。我就装了一个Extesion Mysqli。
修改php.ini 注释掉这一行,果然生效。
[PHP_MYSQLI]
;extension=php_mysqli.dll
安装完mysql,再重新enable这个配置就好了,估计是依赖某些mysql的库。
......