mysql 字符集和引擎的选择

2016-11-29 15:33:40 +08:00
 skyboy

做一个评论网站,你们说字符集用 utf8 好,还是 utf8mb4 好,然后引擎用 innodb,myisam 哪个好。

另外, mysql,mariadb,perconal,postgresql , sqlite 这几个数据库,到底用哪个综合各方面性能好。

1462 次点击
所在节点    问与答
12 条回复
letitbesqzr
2016-11-29 15:38:11 +08:00
utf8mb4
innodb
mariadb or postgresql
skyboy
2016-11-29 15:52:54 +08:00
@letitbesqzr xtradb 呢。
mooncakejs
2016-11-29 15:56:09 +08:00
postgresql 用的很好,除了 跨表不能查询转移数据之外
skyboy
2016-11-29 15:57:55 +08:00
没有自主研发能力的企业, MySQL 、 Percona 、 MariaDB 到底该选哪个?

归档于:观点评论 时间: 2015-03-25 作者:zzbaike 评论:0 更多 0
今天看到 SOHU-DBA 公众号推送的文章:《 MySQL 分支的选择: Percona 还是 MariaDB 》,原文出处: http://www.biaodianfu.com/mysql-percona-or-mariadb.html ,这个文章比较长,有兴趣的可以找到原文看看,我也来简单说下我的看法。

就目前而言,我个人优先推荐使用 Percona 分支版本,它和官方版本相对是最近的,迁移切换的代价也很小。我从 2008 年开始就使用 Percona 分支版本到现在了,当初我们可是国内最大的 Percona 免费用户。最早只是在官方版本上打了一些补丁,现在已经发展形成了自己的 XtraDB 引擎,提供 PXC 高可用解决方案,并且附带了 percona-toolkit 等 DBA 管理工具箱,非常方便。

而 MariaDB 分支则做了较大改动,虽然也集成了 XtraDB 引擎的大多数优势,但从官方版本迁移过去,不确定因素等风险还是挺大的,比如 GTID 不兼容、查询优化器个别时候更糟糕等等,不过 MariaDB 还是挺值得期待的。
综上,建议先继续使用 Percona 分支,等 MariaDB 分支相对更成熟了再用不迟,对这两个分支都不感兴趣或不敢用的,再最后选择官方版本吧,把我上面的话当耳边风就行了,但我要告诉大家的是,在官方版本上能遇到奇葩的事情更多,尤其是查询优化器,快吐血了。
skyboy
2016-11-29 16:00:31 +08:00
@mooncakejs 我测试了下,发现 2000 W记录一个表中, postgresql 占用记录最大的。而且在备份数据删除数据库,重新建立数据库时,竟然卡住不动了。弄得 linux 虚拟机也暂停死机,只好重启了。这种情况 mysql5.7 没有的。另外,在查询带索引的字段上, postgresql9.6 和 mysql 5.7 innodb 速度差不多。
skyboy
2016-11-29 16:02:30 +08:00
其实 percona 和 mariadb 都是对于 innodb 的改进, mariadb 里边有带了 percona 版本的 xtradb ,相对来说 percona 对于 innodb 方面的改进提升的性能比较明显, high performance mysql 这本书就是 percona 团队写的, mariadb 的优势主要是原来的 mysql 之父创立的,相对来说对于 mysql 上层的优化比较多点,底层的存储引擎还是 percona 的部分。。。 当然如果对于性能还有更高要求的话,可以考虑用 tokudb , tokudb 的引擎采用的是分形树结果,效率更牛逼,可惜是收费的。。。
skyboy
2016-11-29 16:07:56 +08:00
@letitbesqzr 用 utf8mb4 会比用 utf8 多增加 30%的体积吗。
mooncakejs
2016-11-29 16:16:11 +08:00
@skyboy 卡死的问题还没碰到过(采集库 2e 多了没分表),硬盘占用倒并不在意,不过 pg 导入导出之类没有 mysql 方便,全文搜索目前有中文可以支持(我选 pg 的主要目的,简单够用).
akira
2016-11-29 16:28:10 +08:00
mysql5.6+
innodb
utf8 general

建议直接用现成的云数据库服务,避免很多麻烦事
wmttom
2016-11-30 08:28:28 +08:00
utf8mb4 才能支持 emoji ,既然是评论网站一定需要处理 emoji
自己维护的话 percona 会更 dba 友好
innodb ( xtradb )从各方面来说是默认的最好选择,但是要用对,不要主键乱序搞的插入页分裂,特定场景 tokudb 有很大的优势
skyboy
2016-11-30 08:30:51 +08:00
@wmttom 什么是 emoji 表情符号,能打几个给我插入测试下吗。另外 tokudb 比 percona ,是不是前者是要钱的。想用免费开源的宽松的 MIT 协议的。
wmttom
2016-11-30 08:36:51 +08:00
🤔 iOS 输入法默认带的表情就是 emoji ,大家说的 tokudb 是指 MySQL 用的 tokudb 存储引擎

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/324113

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX