MySQL学习笔记

简介

分析Blob和varbinary;
收集关于MySQL和MariaDB相关差异

Blob varbinary差异

引用自stackoverflow的简单说明,原文参考[1]:

VARBINARY在MySQL 5.0.2及以下版本上被绑定为255字节,在5.0.3及以上版本上被绑定为65kB。BLOB绑定到65kB。最后,VARBINARY实际上与BLOB是一样的(从可以存储什么的角度来看),除非您想保持与“旧”版本MySQL的兼容性。MySQL文档说:
在大多数情况下,您可以将BLOB列视为VARBINARY列,它可以任意大。

golang中如果直接使用byte[],将会生成longblob。Binary和VARCHAR的区别在于将不再需要指定字符集。varbinary类型最大数据存储是2^16-1,其实这个数字就是16位的最大数字—65535。计算下来刚好是65K。其实blob和varbinary非常像。

不同版本的mysql

mysql已经给orcale收购了,可能又闭源的风险。alisql是阿里提供的一种数据库。TiDB是一种类似MySQL的数据库。
MariaDB与MySQL

以下几点突出了MariaDB的优缺点。

优点

  • MariaDB针对性能进行了优化,对于大型数据集,它比MySQL强大得多。从其他数据库系统可以优雅的迁移到MariaDB是另一个好处。
  • 从MySQL切换到MariaDB相对容易,这对于系统管理员来说好像是一块蛋糕。
  • MariaDB通过引入微秒级精度和扩展用户统计数据提供更好的监控。
  • MariaDB增强了KILL命令,使您可以杀死用户的所有查询(KILL USER 用户名)或杀死查询ID(KILL QUERY ID query_id)。MariaDB也转而使用Perl兼容的正则表达 (PCRE),它提供比标准MySQL正则表达式支持更强大和更精确的查询。
  • MariaDB为与磁盘访问,连接操作,子查询,派生表和视图,执行控制甚至解释语句相关的查询应用了许多查询优化。
  • MariaDB纯粹是开源的,而不是MySQL使用的双重授权模式。一些仅适用于MySQL Enterprise客户的插件在MariaDB中具有等效的开源实现。
  • 与MySQL相比,MariaDB支持更多的引擎(SphinxSE,Aria,FederatedX,TokuDB,Spider,ScaleDB等)。
  • MariaDB提供了一个用于商业用途的集群数据库,它也支持多主复制。任何人都可以自由使用它,并且不需要依赖MySQL Enterprise系统。

缺点

  • 从版本5.5.36开始,MariaDB无法迁移回MySQL。
  • 对于MariaDB的新版本,相应的库(用于Debian)不会及时部署,由于依赖关系,这将导致必需升级到较新的版本。
  • MariaDB的群集版本不是很稳定。

迁移到MariaDB的主要原因

  • 首先,MariaDB提供了更多更好的存储引擎。NoSQL支持由Cassandra提供,允许您在单个数据库系统中运行SQL和NoSQL。MariaDB还支持TokuDB,它可以处理大型组织和企业用户的大数据。
  • MySQL的平常(和缓慢的)数据库引擎MyISAM和InnoDB已分别在MariaDB中由Aria和XtraDB取代。Aria提供了更好的缓存,这对于磁盘密集型操作来说是有所不同的。
  • MariaDB通过引入微秒级精度和扩展用户统计数据提供更好的监控。
  • MariaDB的最新功能(如GIS,动态色谱柱支持等)使其成为更好的选择。
  • MariaDB遵循良好的行业标准,同时发布安全公告和升级,并以正确的方式处理预发布的保密性和发布后的透明度。

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值