马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
根据Evans的调查报告,“MySQL的使用在未来将继续呈成长趋势。”MySQL表布局
CREATETABLE`myisam`(
`id`int(11)NOTNULLauto_increment,
`name`varchar(100)defaultNULL,
`content`text,
PRIMARYKEY(`id`)
)ENGINE=MyISAMDEFAULTCHARSET=gbk;
CREATETABLE`innodb`(
`id`int(11)NOTNULLauto_increment,
`name`varchar(100)defaultNULL,
`content`text,
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=gbk;
数据内容:
$name=“heiyeluren”;
$content=“MySQL撑持数个存储引擎作为对分歧表的范例的处置器。MySQL存储引擎包含处置事件平安表的引擎和处置非事件平安表的引擎:・MyISAM办理非事件表。它供应高速存储和检索,和全文搜刮才能。MyISAM在一切MySQL设置里被撑持,它是默许的存储引擎,除非你设置MySQL默许利用别的一个引擎。・MEMORY存储引擎供应“内存中”表。MERGE存储引擎同意汇合将被处置一样的MyISAM表作为一个独自的表。就像MyISAM一样,MEMORY和MERGE存储引擎处置非事件表,这两个引擎也都被默许包括在MySQL中。释:MEMORY存储引擎正式地被断定为HEAP引擎。・InnoDB和BDB存储引擎供应事件平安表。BDB被包括在为撑持它的操纵体系公布的MySQL-Max二进制分发版里。InnoDB也默许被包含在一切MySQL5.1二进制分发版里,你能够依照喜欢经由过程设置MySQL来同意或克制任一引擎。・EXAMPLE存储引擎是一个“存根”引擎,它不做甚么。你能够用这个引擎创立表,但没无数据被存储于个中或从个中检索。这个引擎的目标是服务,在MySQL源代码中的一个例子,它演示申明怎样入手下手编写新存储引擎。一样,它的次要乐趣是对开辟者。”;
[拔出数据-1](innodb_flush_log_at_trx_commit=1)
MyISAM1W:3/s
InnoDB1W:219/s
MyISAM10W:29/s
InnoDB10W:2092/s
MyISAM100W:287/s
InnoDB100W:没敢测试
[拔出数据-2](innodb_flush_log_at_trx_commit=0)
MyISAM1W:3/s
InnoDB1W:3/s
MyISAM10W:30/s
InnoDB10W:29/s
MyISAM100W:273/s
InnoDB100W:423/s
[拔出数据3](innodb_buffer_pool_size=1024M)
InnoDB1W:3/s
InnoDB10W:33/s
InnoDB100W:607/s
[拔出数据4](innodb_buffer_pool_size=256M,innodb_flush_log_at_trx_commit=1,setautocommit=0)
InnoDB1W:3/s
InnoDB10W:26/s
InnoDB100W:379/s
[MySQL设置文件](缺省设置)
#MySQLServerInstanceConfigurationFile
[client]
port=3306
[mysql]
default-character-set=gbk
[mysqld]
port=3306
basedir=”C:/mysql50/”
datadir=”C:/mysql50/Data/”
default-character-set=gbk
default-storage-engine=INNODB
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=50M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=100M
key_buffer_size=82M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_additional_mem_pool_size=4M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_buffer_pool_size=159M
innodb_log_file_size=80M
innodb_thread_concurrency=8
总结:
能够看出在MySQL5.0内里,MyISAM和InnoDB存储引擎功能不同并非很年夜,针对InnoDB来讲,影响功能的次要是innodb_flush_log_at_trx_commit这个选项,假如设置为1的话,那末每次拔出数据的时分城市主动提交,招致功能急剧下落,应当是跟革新日记有干系,设置为0效力可以看到分明提拔,固然,一样你能够SQL中提交“SETAUTOCOMMIT=0”来设置到达好的功能。别的,还传闻经由过程设置innodb_buffer_pool_size可以提拔InnoDB的功能,可是我测试发明没有出格分明的提拔。
基础上我们能够思索利用InnoDB来替换我们的MyISAM引擎了,由于InnoDB本身良多优秀的特性,好比事件撑持、存储历程、视图、行级锁定等等,在并发良多的情形下,信任InnoDB的体现一定要比MyISAM强良多,固然,响应的在my.cnf中的设置也是对照关头的,优秀的设置,可以无效的减速你的使用。
假如不是很庞大的Web使用,非关头使用,仍是能够持续思索MyISAM的,这个详细情形能够本人推敲。
硬件设置
CPU:AMD2500+(1.8G)
内存:1G/古代
硬盘:80G/IDE
软件设置
OS:WindowsxpSP2
SE:php5.2.1
DB:MySQL5.0.37
Web:IIS6
这是无法比较的,因为基于云的数据库提供了不同的模式。关键是要通过围绕云计算产品来包装其他增值服务以适应不断变化的市场条件:这就是DBaaS。 |