- 论坛徽章:
- 27
|
1.Mysql支持的引擎有哪些?各有哪些特性?如何查看哪些引擎可用?
答:mysql支持的引擎有:
1)myisam ,这种引擎不支持事务,特点查询更新都速度快,特别是select count(*) ;mysql5.5之前,是默认存储引擎,缺点是易损坏,一般支持到一千万条时,查询速度下降很厉害,
2)innodb ,这种引擎支持事务,能够保证增删改的操作完整性,查询修改速度比较慢,只有这个是支持外键和事务,外键对于数据的合理性控制和检查是非常好的
3)memory,在mysql4之前交heap,把表完全建立在内存中,支持btree和hash两种索引,表大小受制于内存大小,
4) BDB,支持BerkeleyDB,这个没有用过不是很清楚
5)csv,这个测试过,可以把csv文件作为数据,增删改查效率不高
6)MERGE,这个是myisam的表集合,用于把按天分开的几个表当成一张表进行处理。
查看存在的引擎使用命令
show engines;
2.Mysql引擎的线上应用场景,如何为业务选择合适的引擎?
1)查询次数非常多,而更新比较少例如,公司主页,门户网站可以使用myisam,适合于逻辑简单,或者统计数据
2)修改比较频繁,或者对于事务完整性要求严格的话,使用innodb
3)对于关系非常复杂的系统最好用innodb,因为它支持外键和事务
3.线上优化Mysql,配置Mysql存储引擎。
1)对于myisam的话,需要根据系统环境,加大索引或者缓存空间大小,
2)对于innodb的话,需要设置正确的日志刷新频率,若是频率太高则影响性能,频率太低则掉电会损失数据多,加大缓冲池 |
|