教你快速了解公共MySQL的数据库服务器层
作者:limeinan 发布时间:2008-12-17 17:10:00
MySQL插件式存储引擎是MySQL数据库服务器中的组件,负责为数据库执行实际的数据I/O操作,并能允许和强制执行面向特殊应用需求的特定特性集合。使用特殊存储引擎的主要优点之一在于,仅需提供特殊应用所需的特性,因此,数据库中的系统开销较小,最终结果具有更有效和更高的数据库性能。这也是MySQL被始终视为具有高性能的原因之一,在行业标准基准方面,它能匹敌或击败专有的整体式数据库。
从技术角度上看,在存储引擎中,一些独特的支持底层结构的组件是什么呢?一些关键差别包括:
· 并发性:某些应用程序比其他应用程序具有很多的颗粒级锁定要求(如行级锁定)。选择正确的锁定策略能够减少开销,并有助于整体性能的提升。它还包括对多种能力的支持,如多版本并发性控制或“快照”读取等。
· 事务支持:并非所有的应用程序都需要事务,但对的确需要事务的应用程序来说,有着定义良好的需求,如ACID兼容等。
· 引用完整性:通过DDDL定义的 外键,服务器需要强制保持关联数据库的引用完整性。
· 物理存储:它包括各种各样的事项,从表和索引的总的页大小,到存储数据所需的格式,到物理磁盘。
· 索引支持:不同的应用程序倾向于采用不同的索引策略,每种存储引擎通常有自己的编制索引方法,但某些索引方法(如B-tree索引)对几乎所有的存储引擎来说是共同的。
· 内存高速缓冲:与其他应用程序相比,不同的应用程序对某些内存高速缓冲策略的响应更好,因此,尽管某些内存高速缓冲对所有存储引擎来说是共同的(如用于用户连接的高速缓冲,MySQL的高速查询高速缓冲等),其他高速缓冲策略仅当使用特殊的存储引擎时才唯一定义。
· 性能帮助:包括针对并行操作的多I/O线程,线程并发性,数据库检查点,成批插入处理等。
· 其他目标特性:可能包括对地理空间操作的支持,对特定数据处理操作的安全限制等。
每组插件式存储引擎基本组件均采用了相应的设计,能够为特定应用提供可选择的特性集合。从反面角度看,避免使用组件特性集合有助于避免不必要的开销。因此,显而易见,应理解特定应用程序的需求集合,并选择恰当的能大幅度改善系统整体效率和性能的MySQL存储引擎。


猜你喜欢
- 从http://freeapi.ipip.net和http://ip-api.com/json/这两个网站提供的免费调用接口查询IP地址归属
- 在批评Python的讨论中,常常说起Python多线程是多么的难用。还有人对 global interpreter lock(也被亲切的称为
- 见图---pycharm左下角点击,就会发现来源:https://blog.csdn.net/huanglei1234567890/arti
- a1="sp2=20;sp1=34;" a2="sp3=2;sp2=3;sp1=4;" 两组字符串数
- 本文实例讲述了Yii框架学习笔记之应用组件操作。分享给大家供大家参考,具体如下:所有的组件都应声明在config/web.php//组件声明
- 目录小而美简单至上避免空值选择数据类型的步骤数据类型介绍一、串数据类型二、数值数据类型三、日期和时间数据类型四、二进制数据类型结语:小而美通
- 最近接到一个任务,就是用django后端,前段用vue,做一个普通的简单系统,我就是一搞后端的,听到vue也是比较震惊,之前压根没接触过vu
- 针对弹幕的爬取我们如果只需要获取看到的网页里面的而数据,使用selenium就能实现,对于直播平台来说,往往有第三方平台api让你获取数据(
- 1. mysql_where子句_聚合函数# ### part 单表查询""" select ... from
- 异步过渡方案Generator在使用 Generator 前,首先知道 Generator 是什么。如果读者有 Python 开发经验,就会
- 最近在看红楼梦,看的诗词多了,时不时的也想来一句...这几天刚看看到了underscore.js的防抖和节流的部分,正好又去复习了这部分内容
- virtualenv简介在开发Python应用程序的时候,我们的系统上通常只会安装一个Python版本:例如 3.7。所有使用 pip 安装
- 本文实例讲述了python实现string和dict的相互转换方法。分享给大家供大家参考,具体如下:字典(dict)转为字符串(string
- 以下是一个类文件,下面的注解是调用类的方法注意:如果系统不支持建立Scripting.FileSystemObject对象,那么数据库压缩功
- 简介说明本文介绍用Navicat添加字段(字符串类型)并设置默认值时的报错问题。问题描述在Java开发过程中,经常会遇到给已有的表添加字段的
- 最近项目遇到一个坑爹的事情,一个源码必须使用PHP5.3,但是现在Ubuntu上自带的版本是5.4,降级之后会出各种奇怪的问题,最后没办法,
- 如下所示:def draw_circle(event,x,y,flags,param): global ix,iy,drawin
- 大家都知道一些论坛的标题有高亮显示功能,在这里我不讨论也不研究论坛普遍的实现方法,下面是我的实现方法:实现思路:把要高亮显示的标题加上特定标
- 本文实例为大家分享了python Tkinter版学生管理的具体代码,供大家参考,具体内容如下Tkinter是python自带的UI包,无需
- 本文实例讲述了python获取文件后缀名及批量更新目录下文件后缀名的方法。分享给大家供大家参考。具体实现方法如下:1. 获取文件后缀名:#!