MySQL你必须要了解存储引擎
本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了存储引擎的相关问题,还包括了索引设计与使用、数据类型选择以及字符集设置等问题,希望对大家有帮助。 推荐学习:m
本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了存储引擎的相关问题,还包括了索引设计与使用、数据类型选择以及字符集设置等问题,希望对大家有帮助。
推荐学习:mysql教程
谁说MySQL查询千万级别的数据很拉跨?我今天就要好好的和你拉拉家常,畅谈到深夜,一起过除夕!这篇文章也是年前的最后一篇,希望能带给大家些许收获,不知不觉查找文档和参考实体书籍就写了这么多,自己都感觉到意外。不禁感慨到,知道的越多,才知道不知道的更多。
开发人员应该会关注MySQL使用的存储引擎,选择合适存储引擎对你的应用性能提升是明显的。在阅读到本文的时候,肯定是有一定的MySQL或者其它数据库基础的,不然有些地方看着会很费劲。重点地方,我都进行了加粗处理,这样更容易获取关键知识点。
关于存储引擎,一篇文章也不可能面面俱到,对个人觉得比较重要、于工作有益的方面进行阐述。如果真的去深挖,估计得一本书的篇幅。顺带还介绍一些数据类型选择、字符集设置、索引的使用;视图、存储过程、函数以及触发器啊等等会在下一篇博文进行详细的描述。但本文不会做太详细的叙述。本篇文章以存储引擎的选择为核心,如果有出现瑕疵的地方,希望您能留下宝贵的建议。
今天发现了一个神奇的参数:-site:xxxx.net
一、存储引擎的选择(表类型)
1、存储引擎的介绍
与到多数关系型数据库的区别在于MySQL有一个存储引擎的概念,针对不同的存储需求可以选择最合适的存储引擎。MySQL中的插件式的存储引擎是其一大特色,用户可以根据应用的需求选择如何存储、是否索引,是否使用事务。嘿嘿,你也可以根据业务环境去适配最适合自己业务的存储引擎。
Oracle从中嗅到了商机,收购了MySQL,从此有了企业版(商业支持)。社区版依旧可以免费下载。另一大魅力也是因为开源,社区高度活跃,人人都可贡献。接下来介绍几种使用比较多的存储引擎,存储引擎并无优劣之分,有的只是谁更适合对应的生产业务环境。
MySQL5.0中支持的存储引擎有FEDERATED、MRG_MYISAM、MyISAM、BLACKHOLE、CSV、MEMORY、ARCHIVE、NDB Cluster、BDB、EXAMPLE、InnoDB(MySQL5.5以及MariaDB10.2之后的默认存储引擎)、PERFORMANCE_SCHEMA(非常规存储数据引擎)。下面给出MySQL与MariaDB支持的存储器引擎的对比,可以看出MariaDB新增了Aria引擎:
查看存储引擎
通过MySQL登录自带的字符界面输入show enginesG;或者使用支持MySQL查询的工具SQLyog、phpMyAdmin、MySQL workbench等查询支持的引擎,这里只展示部分哟:
我已经创建好了数据库为test,在test中分别创建了两张表test和tolove。test表在创建的时候指定默认存储引擎为MyISAM,tolove表指定存储引擎为InnoDB。使用MyISAM存储引擎创建的表tolove,查询存储有1kw数据的表tolove。
tips:你可以使用use test,切换到test数据库,就不用像我这样查询tolove表去指定test数据库了哟!