美文网首页
MySQL在新建表时的存储引擎怎么选?

MySQL在新建表时的存储引擎怎么选?

作者: 后厂村村长 | 来源:发表于2021-08-07 19:47 被阅读0次

当然首选 InnoDB

写在前面:如果你无法判断,就用InnoDB,默认选项总是比较安全的,尤其是你搞不清楚你究竟需要什么的时候。

1、除非你用到了无法替代的某些 InnoDB 所不具备的特性,否则应优先考虑InnoDB引擎。

举个栗子,如果对空间占用很敏感,既不在乎可扩展性和并发能力,也不在乎崩溃后的数据丢失问题,那 MyISAM 就比较合适。比如,日志存储场景,主要是 select 和 insert,几乎不涉及update,那么 MyISAM 比 InnoDB 更合适。

另如,需要地理空间索引的场景,一般首选MyISAM(注,MySQL5.7之前仅MyISAM支持,之后InnoDB也开始支持)。

2、为什么首选 InnoDB?

1)支持 事务。
2)支持 在线热备份(如果可以定期关闭服务器执行备份,可以忽略这点)。
3)MyISAM崩溃后发生损坏的概率比InnoDB要高很多,且恢复速度也慢。因此,即使无需事务支持,多数人也选后者,这是一个非常重要的因素。

附:
不要轻信“MyISAM比InnoDB快”之类的似乎充满经验性的话。
首先,这个结论并不是绝对的。比如聚簇索引场景,就可以反杀MyISAM,或者需要访问的数据都可以放入内存的应用场景。
其次,考虑一下你的数据量级,譬如几十万的数据,那就不用纠结使用哪种引擎。
最后,有可能你的查询慢只是缺少一个恰当的索引,根源并不在引擎本身,善用explain

相关文章

  • MySQL在新建表时的存储引擎怎么选?

    当然首选 InnoDB 写在前面:如果你无法判断,就用InnoDB,默认选项总是比较安全的,尤其是你搞不清楚你究竟...

  • MySQL存储引擎MyISAM与InnoDB的优劣

    使用MySQL当然会接触到MySQL的存储引擎,在新建数据库和新建数据表的时候都会看到。 MySQL默认的存储引擎...

  • mysql数据库引擎

    存储引擎就是表的类型以及表在计算机的存储方式。 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎...

  • Mysql存储引擎之myisam

    Myisam存储引擎是在mysql5.5之前版本默认的存储引擎,mysql大部分系统表和临时表(是指排序,分组等操...

  • mysql存储引擎

    1、mysql存储引擎分类 存储引擎简单来说就是指数据表的类型。存储引擎决定了表在计算机中的存储方式。下面详细讲解...

  • MySQL常用存储引擎

    MySQL常用存储引擎之MyISAM MySQL5.5之前版本默认存储引擎 临时表 在排序、分组等操作中,当数量超...

  • 4. MySQL的存储引擎

    MySQL的表的存储是有其存储引擎的,表分为表结构、表数据、表引擎与表中的索引等等信息。 1、存储引擎一般分几大类...

  • [MySQL 之四] 事务控制与锁定语句

      MySQL 支持对 MyISAM 和 MEMORY 存储引擎的表进行表级锁定,对 BDB 存储引擎的表进行页级...

  • MySQL 事务控制和锁定语句

    MySQL 支持对 MyISAM 和 MEMORY 存储引擎的表进行表级锁定,对 BDB 存储引擎的表进行页级锁定...

  • 索引

    MyISAM存储引擎MyISAM是 MySQL 5.5 版本之前的默认存储引擎,MySQL中很多系统表也还是使用该...

网友评论

      本文标题:MySQL在新建表时的存储引擎怎么选?

      本文链接:https://www.haomeiwen.com/subject/maygvltx.html