首页 > 代码库 > mysql简单介绍和一些局限性
mysql简单介绍和一些局限性
mysql版本
Alfa -> Beta->GA
GA 代表 生产环境使用
mysql局限性
1、不要复杂事务支持,RR级别下,辅助next-key lock,就可以满足高一致性要求了;
2、真的需要物化视图时,可以采用触发器的方式变相实现;
3、不支持函数索引、hash join、bitmap索引,虽然是硬伤,但大部分互联网应用都不需要这么强的功能需求,或者可以对产品需求进行改造;
4、查询优化器在持续改进中,需要一个过程,而且绝大多数都是简单应用,整体来说还好;
mysql利用硬件的一些优缺点介绍
CPU利用特点
5.5可以利用到24个核
5.6可以利用到64个核
每个连接对应一个线程,每个并发query只能使用到一个核
内存利用特点
内存管理简单,有效,高TPS(高事务处理数)、高并发环境下,需要依靠更多物理内存以减少物理IO,提高并发性能
有query cache,但效果不佳,建议关闭
执行计划没有缓存(类似ORACLE的library cache)
通常内存建议按实际数据的15%-20%(热点数据量)规划,专用单实例则可以分配物理内存的50~80%左右(innodb_buffer_pool_size)
类似K-V简单数据,采用memcached、Redis等NOSQL来缓存
硬盘利用特点
对磁盘的利用特点
binlog、redo log、undo log是顺序IO
datafile是随机IO和顺序IO都有
OLTP业务更多的需要随机IO,可加大内存,以减少随机IO
OLAP业务更多需要顺序IO,内存缓存作用不大,提高IOPS性能更重要
MyISAM是堆组织表(HOT),InnoDB是索引组织表(IOT)
本文出自 “dba天空” 博客,谢绝转载!
mysql简单介绍和一些局限性