mysql常用存储引擎

     一、MySQL的存储引擎

            1、InnoDB存储引擎

                  说明:InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。

                  特点:支持热备份(MySQL的其他存储引擎不支持热备份)、复制备份崩溃恢复等操作中有明显优势、行级锁、支持事务、支持外键

                  缺点:排量出入速度低

                  使用场景:1.如果应用需要事务支持,那么InnoDB(或者XtraDB)是目前最稳定并且经过验证的选择

                                2. 如果可以定期地关闭服务器来执行备份,那么备份的因素可以忽略。反之,如果                                         需要在线热备份, 那么选择InnoDB就是基本的要求.

                                3.MyISAM崩溃后发生损坏的概率比InnoDB要高很多,而且恢复速度也要慢。

                  应用举例:订单处理(涉及订单处理,支持事务是必要的,InnoDB是订单处理类应用的最佳选择。)

            2、MyISAM存储引擎

                  特点:全文索引、压缩、空间函数(GIS)等、访问速度快、

                  缺点:MyISAM不支持事务和行级锁、崩溃后无法安全恢复。

                  使用场景:对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表。

                  应用举例:日志型应用、只读或者大部分情况下只读的表

            3、Memory引擎

                  特点:表级锁

                  缺点:并发写入的性能较低、不支持BLOB或TEXT类型的列,并且每行的长度是固定的(可能呆滞部分内存的浪费

                  使用场景:如果需要快速地访问数据,并且这些数据不会被修改,重启以后丢失也没有关系,那么使用Memory表是非常有用。Memory表至少比MyISAM表要快一个数量级。

                  应用举例:统计操作中间结果表

             4MERGE引擎

                   说明:merge存储引擎是一组MyISAM表的组合,这些MyISAM表结构必须完全相同,MERGE表中并没有数据,对MERGE类型的表可以进行查询、更新、删除的操作,这些操作实际上是对内部的MyISAM表进行操作

            推荐文章:1.http://www.cnblogs.com/gbyukg/archive/2011/11/09/2242271.html

                               2.http://toplchx.iteye.com/blog/1941415

猜你喜欢

转载自guo-xiuye.iteye.com/blog/2213932