mysql最常用的引擎MyISAM和InnoDB
2015-04-11 14:18
267 查看
一、如果数据库使用了MyISAM引擎,读写操作是串行的,如果查询关联的表多Sql复杂,就会出现慢查询,慢查询时来了update或者insert都要等待,如果这时再来了select,由于select优先级低于更新插入操作,所以也要等开始的那个select执行完,这时候就很容易造成锁表。可以把concurrent_insert设置为2,0为不许读写并发,1为表中无空洞,允许在一个进程读表的同时,另一个进程从表尾插入记录,默认。2为不管表中有无空洞,都允许从表尾插入。这样不好的是,由于每次都是从表尾插入,不再判断表的空洞是否能容下新插入数据,数据库存储空间会出现文件碎片,需要定期使用OPTIMIZE
TABLE清理。
InnoDB引擎的机制决定了,每次都从表尾的空间插入,不会产生空洞,总是连续的存储空间。
如果可以降低写操作的优先级,则使用low-priority-updates=1,否则使用 max_write_lock_count=1
二、MyISAM引擎不支持数据库事务和外键的关联关系,如果你的SQL语句有创建外键的语句,执行并不会报任何错误,但你查看外键的时候,数据库中并不存在,级联的删除和更新当然没有,那是因为你使用的数据库引擎是MyISAM。
TABLE清理。
InnoDB引擎的机制决定了,每次都从表尾的空间插入,不会产生空洞,总是连续的存储空间。
如果可以降低写操作的优先级,则使用low-priority-updates=1,否则使用 max_write_lock_count=1
二、MyISAM引擎不支持数据库事务和外键的关联关系,如果你的SQL语句有创建外键的语句,执行并不会报任何错误,但你查看外键的时候,数据库中并不存在,级联的删除和更新当然没有,那是因为你使用的数据库引擎是MyISAM。
相关文章推荐
- MySQL最常用的二种存储引擎MyISAM和InnoDB的介绍
- MYSQL中常用的存储引擎------MyISAM和InnoDB
- MySQL 几种常见的存贮引擎,常用MyISAM,InnoDB对比
- MYSQL的常用存储引擎MyISAM和InnoDB的区别
- Mysql 两大常用的存储引擎MyISAM,InnoDB的六大常见区别
- 常用Mysql存储引擎--InnoDB和MyISAM简单总结
- mysql 常用引擎MyISAM和innodb的几点简单特性
- MySQL中MyISAM引擎与InnoDB引擎性能简单测试
- MySQL中MyISAM引擎 vs InnoDB引擎(功能,性能)
- MYisam和InnoDB区别以及MySQL引擎简介
- MySQL中MyISAM引擎与InnoDB引擎性能简单测试
- 【转载】InnoDB还是MyISAM 再谈MySQL存储引擎的选择
- MySQL中MyISAM引擎与InnoDB引擎性能简单测试
- mysql数据据存储引擎InnoDB和MyISAM的优势及区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- MySQL中MyISAM引擎与InnoDB引擎性能简单测试
- Mysql innodb引擎和myisam引擎 使用索引区别
- mysql存储引擎:InnoDB和MyISAM的区别与优劣(转)
- 浅谈MySQL存储引擎选择 InnoDB还是MyISAM
- mysql存储引擎:InnoDB和MyISAM的差别/优劣评价/评测/性能测试