SQL选择

燃烧的冰2020-01-09  1k+

wellcms 2.0 支持数据库 MySQL、MariaDB,数据库驱动支持pdo_mysql和mysql,数据库引擎MyISAM和InnoDB,那么应该哪个版本的数据库呢?


MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (由索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select和insert 推荐使用MyISAM。


InnoDB:支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。如果有大量的update和insert,建议使用InnoDB,特别是针对多个并发和QPS较高的情况。


读多写少选择MyISAM,需要大量写入和更新使用InnoDB,这是一种粗略选择,最重要的还是根据自己的业务类型选择,一般站点选择MyISAM就够了。


版本选择:

大多数人都喜欢选择高版本的数据库,对于 wellcms 选择最低版本,官方使用的 mysql 5.5.6 性能依旧飞快,并不是说这个版本好,而是没有必要装高版本。mysql 5.6 开始要求内存最低1G起步,wellcms 使用 mysql 5.5.6 和 mysql 8.0 性能方面没什么变化。如果使用其他程序,即使装mysql 8.0,也不一定能跑过wellcms使用5.5.6版本的数据库,这是为什么呢?


(1)科学的设计数据库结构,合理的使用字段和索引,这是很重要、很重要、很重要的部分;

(2)wellcms 只将数据库当做储存库使用,不在数据库做任何运算查询,因此,即使 wellcms 使用最低版本的数据库,与使用高版本的数据库,并没有多大差别。


其他的程序飞不起来的原因:

1.数据库设计不科学;

2.字段类型不合理;

3.随意创建索引;

4.最要命的是在mysql做运算;

5.数据库驱动、业务逻辑设计和代码书写等等……