前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库连接引擎那点事儿

数据库连接引擎那点事儿

作者头像
大牧莫邪
发布2018-08-27 17:45:02
3560
发布2018-08-27 17:45:02
举报
文章被收录于专栏:我和PYTHON有个约会

天长,地久。天地之所以能长且久者,以其不自生也,故能长生。是以圣人后其身而身先,外其身而身存,非以其无私邪?故能成其私。——老子

这里简单谈谈数据库连接引擎那点事儿

在数据库实际操作过程中,我们很少涉及到数据库引擎对象的事情,一般情况在创建数据库的时候都使用默认的InnoDB数据库引擎,那么到底什么是数据库引擎,有什么样的数据库引擎,在实际使用的过程中都有什么主意事项,为什么InnoDB作为默认的数据库引擎,都是我们需要特别注意但是不需要太多操作的问题!

1. 什么是数据库引擎

数据库引擎定义了数据库存储数据的数据结构特点,主要通过指定的数据库引擎对象来限制数据库操作数据不同方式的效率、锁和事务的支持、数据全文检索的支持、数据集的缓存操作等等特性。

2. 常见的数据库引擎

比较常见的数据库引擎对象主要有两种,一种是常见的InnoDB,另一种是很多人经常提到但是很少用到的MyIASM。 两种数据库引擎都是通过B+树实现了数据库中最重要的数据索引

3. 两种常见数据库引擎的区别和区分

3.1. INNODB引擎

InnoDB使用B+树完成数据库索引的实现,但是在数据存储时数据结构中存储的是实际数据,被称为聚集索引的东东,不支持全文检索,启动也是比较慢的。 InnoDB引擎支持ACID事务的支持,提供了行级锁和外键约束,设计目标是处理大容量数据库系统,处理过程中会在内存中建立数据库缓冲区用于缓存数据和索引数据。但是如果进行select count(*) from <table_name>时,会进行全表扫描,不会缓存扫描结果;同时在高并发的情况下,由于InnoDB引擎支持的锁的粒度较细,不会在写操作时全表锁定,有利于高并发下性能的提升。

3.2. MYIASM引擎

MyIASM使用B+树完成数据库索引的实现,但是在数据存储时数据结构中存储的是实际数据的地址,被称为非聚集索引,支持全文检索 MyIASM不支持事务操作,不支持行级锁和外键的约束;在进行select count(*) from <table>操作时会缓存数据,不会进行全表扫描。

3.3. 使用区分

如果我们的数据库存储大量数据,需要支持事务操作和外键约束,同时在出现故障需要快速恢复时,使用InnoDB引擎; 如果我们的数据库中需要大量而频繁的的insert语句操作时,可以选择MyIASM数据库引擎

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.12.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 什么是数据库引擎
  • 2. 常见的数据库引擎
  • 3. 两种常见数据库引擎的区别和区分
    • 3.1. INNODB引擎
      • 3.2. MYIASM引擎
        • 3.3. 使用区分
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档