如果您需要大量 UPDATE 和 INSERT 的并发,您将需要 InnoDB
如果您需要解决死锁,则需要 InnoDB
如果您想要一个同时缓存数据和索引的存储引擎,您将需要 InnoDB
如果您想有效地访问多个 CPU,您将需要 InnoDB(并对其进行调整)
请参考我过去关于 InnoDB 的文章:
Feb 12, 2011
:您如何为繁重的 InnoDB 工作负载调优 MySQL?Apr 14, 2011
: InnoDB 和 MyISAM 的主要区别是什么?Aug 04, 2011
:优化 InnoDB 默认设置Oct 05, 2011
:查询在一些较新的 MySQL 版本中运行时间较长Dec 19, 2011
:哪个先:升级mysql版本还是转换存储引擎?Jan 09, 2012
:从 MyISAM 转换到 InnoDB 有什么问题吗?Jan 27, 2012
:将 myisam 5.0 数据库导入 5.5 innodb 服务器Jan 18, 2012
: 大量插入的 InnoDB 表不会使用我所有的 CPUJan 21, 2012
:InnoDB 引擎是否跟上内存引擎的速度?Jul 16, 2012
:从 mysql server 5.0 迁移到 5.5 时存储过程的性能降低你说你听说过 MySQL 5.5 比 MySQL 5.0 快。开箱即用,这不是真的。您必须调整 MySQL 5.5 才能从中获得出色的性能!!!以下是我过去关于该主题的文章:
Jun 19, 2011
:如何正确执行 MySQL 烘焙?Nov 24, 2011
:为什么 mysql 5.5 比 5.1 慢(linux,使用 mysqlslap)Jul 18, 2012
:从 mysql server 5.0 迁移到 5.5 时存储过程的性能降低您提到 MyISAM 比 InnoDB 更快。如果 MyISAM 中有很多宽 VARCHAR 列且默认 ROW_FORMAT=Dynamic(默认),则会降低 MyISAM 的性能。说一个存储引擎比另一个更快取决于应用程序、读/写 I/O 比率、存储引擎调整。
查看我关于这个主题的帖子
Sep 20, 2011
:最好的 MyISAM 和 InnoDBApril 12, 2012
: Mysql: INNODB 与 MYISAM 的插入性能(不是我的帖子,但给出了很好的答案)May 02, 2012
:选择哪个mysql存储引擎?May 03, 2012
: InnoDB 和 MyISAM 哪个更快?解决您现在还是稍后转换为 InnoDB 的问题:
在我提供的第五个链接(哪个先:升级mysql版本或转换存储引擎?)中,我建议先转换。但是,在您的特定情况下,我建议稍后转换。原因很简单:您正在将数据移动到不同的服务器。MyISAM 表很容易移植。执行 /var/lib/mysql 的 rsync 或 scp 比转换为 InnoDB 更方便(更快),因为当作为 InnoDB 存在时,数据会稍微(有时显着)大。
您需要做两件事:
如果您使用 rysnc/scp,/var/lib/mysql
您将覆盖 /var/lib/mysql/mysql。因此,我建议您像这样移动数据:
mkdir /root/mysql_schema
cp /var/lib/mysql/mysql/* /root/mysql_schema/.
/var/lib/mysql
从 MySQL 5.0 服务器到 MySQL 5.5 服务器的rsync 或 scpcp /root/mysql_schema/* /var/lib/mysql/mysql/.
STEP05) 从 MySQL 5.0 机器获取授权作为纯 SQL 并将文件保存为 MySQL50Grants.sql
Jul 26, 2011
:将旧备份恢复到最新的 MySQL 版本(请参阅 CAVEAT)
Jan 27, 2012
:将 myisam 5.0 数据库导入 5.5 innodb 服务器
Jun 13, 2012
:将数据库从一台服务器移动到另一台服务器的最快方法
您需要一个简单的脚本来将 MyISAM 转换为 InnoDB。请在 MySQL 5.5 数据库服务器上运行以下命令:
echo "SET SQL_LOG_BIN = 0;" > /root/ConvertMyISAMToInnoDB.sql
MYSQL_CONN="-u... -p..."
mysql ${MYSQL_CONN} -AN -e"SELECT CONCAT('ALTER TABLE ',table_schema,'.',table_name,' ENGINE=InnoDB;') InnoDBConversionSQL FROM information_schema.tables WHERE engine='MyISAM' AND table_schema NOT IN ('information_schema','mysql','performance_schema') ORDER BY (data_length+index_length)" > /root/ConvertMyISAMToInnoDB.sql
less /root/ConvertMyISAMToInnoDB.sql
Run Code Online (Sandbox Code Playgroud)
当您对转换脚本感到满意时,在 MySQL 5.5 上登录 mysql 并运行
mysql> source /root/ConvertMyISAMToInnoDB.sql
Run Code Online (Sandbox Code Playgroud)
试一试 !!!
归档时间: |
|
查看次数: |
7255 次 |
最近记录: |