MySQL的词汇

这些术语通常用于对MySQL数据库服务器信息。这个术语起源于对InnoDB存储引擎的术语和定义一个参考,大部分是Innodb相关。

ARM文件

元数据ARCHIVE表。增强与该文件。这个扩展名的文件都包含在生成的备份mysqlbackup指挥的MySQL企业备份产品

参见该文件MySQL企业备份mysqlbackup命令

该文件

档案表的数据。对比ARM文件。这个扩展名的文件都包含在生成的备份mysqlbackup指挥的MySQL企业备份产品

参见ARM文件MySQL企业备份mysqlbackup命令

原子性、一致性的缩写站,隔离,和耐久性。这些特性在数据库系统中都是不可取的,都是紧密联系在一起的一个概念交易。交易的特征InnoDB坚持原则的酸

交易原子的工作单位,可以坚信的回滚。当一个事务使多个数据库的改变,所有的改变成功在事务提交或撤消,所有的改变都是在事务回滚时。

数据库处于一致状态时每个提交或回滚后,当交易正在进行中。如果相关数据被更新在多个表,查询看到所有旧的价值或新的价值观,而不是旧值和新值的组合。

保护交易(隔离的)彼此时他们都在进步;他们不能互相干扰或看到对方的未提交的数据。这种隔离是通过锁定机制.有经验的用户可以调整隔离级别贸易保护,减少在增加性能有利,并发,当他们可以确保交易真的不会互相干扰。

交易的结果是持久的:一旦提交操作成功,那交易是安全的电源故障、系统崩溃、竞争条件的变化,或者其他潜在的危险,许多非数据库应用程序是脆弱的。耐久性通常涉及写入磁盘存储,与一定量的冗余,防止电源故障或软件崩溃时写操作。(在InnoDB,的doublewrite缓冲协助耐久性。)

参见原子的犯罪并发doublewrite缓冲隔离级别锁定回降交易

自适应刷新

一个算法InnoDB表,消除了I/O开销介绍检查站。而不是冲洗所有的修改网页缓冲池数据文件在一次,定期刷新MySQL小套修改的网页。自适应算法通过估计冲洗的最优利率来执行这些周期冲延伸这一过程中,基于速率的冲洗和如何快速重做信息是生成的

参见缓冲池检查点数据文件脸红InnoDB网页重做日志文件

自适应哈希索引

一个优化InnoDB表格可以加快查找使用=IN运营商,通过构建哈希索引在记忆中。MySQL监控指标搜索InnoDB表,如果查询可以从一个哈希索引的好处,它建立一个自动索引网页这是经常访问。在某种意义上,自适应哈希索引配置MySQL在运行时利用充足的内存,接近内存数据库的体系结构。这个功能是由innodb_adaptive_hash_index配置选项。因为这个功能的好处有些工作负载而不是别人,和用于哈希索引的内存保留在缓冲池,通常你应该使用此功能启用和禁用的基准。

哈希索引是基于现有的建B-树在表的索引。MySQL可以建立一个Hash索引在任何长度的前缀树定义的关键,取决于对索引搜索模式。哈希索引可以是局部的;整个B树索引不需要缓存在缓冲池。

在MySQL 5.6高,另一种方式来利用快速查找与单值InnoDB桌子是用InnoDBmemcached插件看到15.19节,“InnoDB Memcached插件”详情

参见B-树缓冲池哈希索引memcached网页次要指标

AHI

的缩写自适应哈希索引

参见自适应哈希索引

AIO

的缩写异步I/O。你可能会看到这个缩写在InnoDB关键词或信息

参见异步I/O

应用程序编程接口(API)

一组函数或程序。一个API提供了一组稳定的功能、程序、参数的名称和类型和返回值。

申请

当一个备份产生的MySQL企业备份产品不包括最近发生的变化,而备份正在进行中,更新的备份文件,包括那些改变是众所周知的过程申请步。它是由指定的apply-log期权的mysqlbackup命令

在变化时,我们指的是文件作为原备份。应用更改后,我们把文件作为准备备份。这些变化都记录在ibbackup_logfile文件;一旦申请步骤完成后,该文件不再是必要的。

参见热备份ibbackup_logfileMySQL企业备份准备备份原备份

异步I/O

一种类型的I/O操作,允许其他处理前进行I/O完成。也被称为非阻塞I/O,简称AIOInnoDB使用这种类型的I / O的某些操作可以并行运行而不影响数据库的可靠性,如阅读页面进缓冲池实际上还没有被要求,但可能需要很快。

从历史上看,InnoDB使用异步I/O的Windows系统。从InnoDB Plugin 1.1和MySQL 5.5,InnoDB使用异步I/O在Linux系统。这改变了依赖libaio。异步I/O在Linux系统上配置使用innodb_use_native_aio选项,这是默认启用。在其他Unix系统,InnoDB使用同步I/O只。

参见缓冲池非阻塞I/O

原子的

在SQL中,交易有工作单位的,要么全部成功(当坚信的)或根本没有效果(当回滚页:1不可分割(“原子”)交易的性质的缩写

参见犯罪回降交易

原子DDL

一个原子DDL语句是一个结合数据字典更新,存储引擎操作,和二进制日志写相关的DDL操作成一个单一的原子事务。该交易是完全提交或回滚,即使服务器停止运行期间。Atomic DDL支持MySQL 8中添加。有关更多信息,参见第13.1.1,“原子数据定义语句的支持”

参见二进制日志数据字典DDL存储引擎

原子指令

由CPU提供了特殊的指令,以确保关键的低级操作不能中断。

自动增量

一个表的列属性(指定的AUTO_INCREMENT关键词),自动添加一个递增的序列的值在列。

它节省了开发人员的工作,没有产生新的独特的价值观时,插入新的行。它提供了查询优化器有用的信息,因为该列是无效的和独特的价值观。从这样一个列的值可以作为在不同的上下文中查找键,因为他们是自动生成的没有理由永远改变他们;因为这个原因,主键列经常被指定为自动递增。

自动递增列可以与基于语句的复制问题,因为应对奴隶的语句可能不会产生的列值设置为相同的主人,由于时间的问题。当你有一个自动递增主键,可以使用基于语句的复制与设置innodb_autoinc_lock_mode=1。如果你有innodb_autoinc_lock_mode=2插入操作,允许更高的并发性,使用基于行的复制而不是基于语句的复制。设置innodb_autoinc_lock_mode=0不应该除了兼容性的目的。

(连续锁模innodb_autoinc_lock_mode=1)是默认设置MySQL 8.0.3之前。在MySQL 8.0.3,交错的锁模式(innodb_autoinc_lock_mode=2)是默认的,它反映了基于语句的基于行的复制作为默认复制类型的变化。

参见自动增量锁定innodb_autoinc_lock_mode主键基于行的复制基于语句的复制

自动增量锁定

一个方便自动增量主键是并发一些权衡。在最简单的情况下,如果一个事务插入的值插入表中,任何其他事务必须等待自己做的插入,表格,以便行第一个事务插入接收连续的主键值。InnoDB包括优化和innodb_autoinc_lock_mode选项使您可以配置和自动增量值最大可预测的序列之间的最佳平衡并发插入操作

参见自动增量并发innodb_autoinc_lock_mode

自动提交

一个设置,使犯罪术后每SQL声明。这种模式是不推荐使用InnoDB交易跨越几个语句。它可以帮助性能只读事务打开(放)InnoDB表,它最大限度地减少开销锁定和代解开数据,特别是在MySQL 5.6.4和。这也适用于工作MyISAM表,交易不适用

参见犯罪锁定只读事务SQL交易解开

可用性

应对能力,并在必要时恢复,在主机故障,包括故障的MySQL数据库,操作系统或硬件和维护活动,否则可能造成停机。经常搭配可扩展性作为一个大规模部署的关键方面。

参见可扩展性

B

B-树

一棵树的数据结构,在数据库中使用的指标是受欢迎的。结构保留排序在所有的时间,使精确匹配快速查找(等于运算符)和范围(例如,大于,小于,和BETWEEN运营商)。这种类型的索引可用于大多数的存储引擎,如InnoDBMyISAM

因为B树节点可以有许多孩子,树不成一棵二叉树一样,这是仅限于每节点2个孩子。

对比哈希索引,这在只有MEMORY存储引擎。这个内存存储引擎也可以使用B树索引,你应该选择B树索引MEMORY如果某些查询表使用范围运算符。

长期使用的B-树的目的是作为一个参考指标设计的通用类。B树结构的MySQL存储引擎可以看作是由于混合不在经典的B树设计发明的变体。有关信息,请参阅InnoDB页面结构文件头部分的MySQL内部手册

参见哈希索引

引号

在MySQL的SQL语句标识符必须引用使用那些字符(`)如果他们包含特殊字符或保留字。例如,参考表名Foo #酒吧或一个叫作SELECT,你会指定标识符` foo #酒吧``SELECT`。由于引号提供额外的安全级别,它们广泛用于程序生成的SQL语句,在标识符名称可能不可预知的。

许多其他的数据库系统使用双引号(")这种特殊的名字。可移植性,可以使ansi_quotes模式在MySQL和用引号双引号限定标识符名称。

参见SQL

备份

复制部分或全部从一个MySQL实例表数据和元数据的过程,保管。也可以指复制文件集。这是数据库管理员的一项重要任务。这一过程相反的是恢复运营

MySQL,物理备份是由MySQL企业备份产品,和逻辑备份是由mysqldump命令。这些技术已在大小和备份数据表示方面的不同特点,和速度(尤其是还原操作的速度)。

备份又分为温暖的,或寒冷的这取决于他们如何干扰正常的数据库操作。(热备份的干扰最小,最有冷备份。)

参见冷备份热备份逻辑备份MySQL企业备份mysqldump物理备份热备份

基柱

非生成表的列上存储生成的列或列的虚拟产生的基础。换句话说,基柱是一种非生成表的列是一个生成的列定义的一部分。

参见生成的列存储生成的列虚拟生成的列

测试版

在一个软件产品的生命的早期阶段,当它只可用于评价,通常没有明确的发行数量或数小于1。InnoDB不使用β-设计,喜欢早期采用者相,可以扩展到多点释放,导致GA发布

参见早期采用者GA

二进制日志

一个包含所有报表,企图改变表的数据记录文件。这些陈述可以重播将从服务器到目前为止在复制的情况下,或将一个数据库到目前为止从备份恢复数据后。二进制日志功能可以被开启和关闭,虽然Oracle建议总是使它如果你使用复制或执行备份。

你可以检查二进制日志的内容,或重放这些语句复制或恢复过程中,通过使用mysqlbinlog命令。关于二进制日志的详细信息,参见5.4.4节,“二进制日志”。MySQL的配置选项的二进制日志,看第17.1.6.4,二进制日志记录选项和变量”

对于MySQL企业备份产品内的二进制日志文件的当前位置的文件名是重要的细节。记录这些信息对于主服务器将备份在复制的背景下,你可以指定--slave-info选项

MySQL 5之前,类似的能力,称为更新日志。在MySQL 5高,二进制日志替换更新日志。

参见二进制日志MySQL企业备份复制

二进制日志

对于一个非正式的名称二进制日志文件例如,你可能会看到这个缩写用于电子邮件或论坛讨论。

参见二进制日志

盲目的查询扩展

一种特殊的方式全文检索启用了WITH QUERY EXPANSION条款.它执行搜索的两倍,其中第二搜索的短语是原来的搜索短语的几个最高度相关的文件,从最初的搜索链接。该技术主要适用于较短的搜索短语,也许只有一个字。它可以发现相关的比赛,精确的搜索词在文档中出现不。

参见全文检索

瓶颈

一个系统,在尺寸或容量约束的一部分,有限制的整体吞吐量的影响。例如,一个存储区可能小于必要;访问一个所需的资源可能会阻止多个CPU内核同时运行;或等待磁盘I/O完成可能防止CPU在满负荷运转。消除瓶颈趋于完善并发。例如,有多个能力InnoDB缓冲池的情况下,减少竞争当多个会话读写缓冲池,同时。

参见缓冲池并发

反弹

关机手术之后立即重新启动。理想的情况是一个相对较短的热身期使性能和吞吐量迅速返回到一个高水平。

参见关机

伙伴系统

一种机制,用于管理不同大小的网页在InnoDB缓冲池

参见缓冲池网页页面大小

缓冲区

内存或磁盘区用于临时存储。数据被缓存在内存中,它可以有效地写入磁盘,和一些大型的I/O操作,而不是许多小。数据缓冲在可靠性更高的磁盘,所以它可以恢复,即使崩溃或其他故障发生在最不可能的时间。使用InnoDB缓冲区的主要类型是缓冲池,的doublewrite缓冲,和变化的缓冲

参见缓冲池变化的缓冲崩溃doublewrite缓冲

缓冲池

将缓存的内存区InnoDB为表和索引数据。对于大批量的读操作效率,缓冲池分为网页可以容纳多个行。用于高速缓存管理效率,缓冲池作为一个页面链表实现;是很少使用的数据超过了缓存,使用变化的LRU算法.对大内存的系统中,你可以通过将缓冲池为多个改善并发性缓冲池的实例

几个InnoDB状态变量,information_schema表,并performance_schema表帮助监测缓冲池的内部运作。在MySQL 5.6开始后,你可以重新启动服务器,避免长时间的热身,特别是对于大型缓冲池的情况下,通过节约缓冲池的状态在服务器的关闭和恢复的缓冲池,在服务器启动时同样的状态。看到第15.6.3.8,“保存和恢复缓冲池的状态”

参见缓冲池的实例LRU网页热身

缓冲池的实例

任何的多个区域,缓冲池可分为,由innodb_buffer_pool_instances配置选项。总内存大小指定的innodb_buffer_pool_size分所有缓冲池实例之间。通常,有多个缓冲池的情况下是适当的分配多个千兆字节的系统InnoDB缓冲池,每个实例的一个字节或更大。在系统加载或查阅大量从多个并发会话缓冲池中的数据,有多个缓冲池的情况下,减少了数据结构,管理缓冲池的独家访问竞争。

参见缓冲池

内置

内置InnoDB在MySQL存储引擎的存储引擎分布的原始形式。对比与InnoDB插件。从mysql 5.5,InnoDB Plugin合并回MySQL的代码作为内置InnoDB存储引擎(称为InnoDB 1.1)。

这种区别主要是在MySQL 5.1的重要,其中一个功能或bug修复可能适用于InnoDB,但没有内置InnoDB,反之亦然

参见InnoDB

业务规则

的关系和行为形式的商业软件的基础序列,用于运行一个商业公司。有时,这些规则是由法律、公司政策的其他时间。仔细的规划,保证关系进行编码和数据库中执行,并通过应用逻辑执行的动作,准确反映公司实际的政策和处理现实生活中的情况。

例如,一个员工离开公司可能会引发一系列的人力资源部门的行动。人力资源数据库可能也需要有灵活性,代表一个人已经聘请了数据,但还没有开始工作。关闭在线服务帐户可能被从数据库中删除数据,或数据可能被移动或标记,以便它可以如果帐户重新恢复。公司可以建立关于工资的最大值,最小值和调整政策,除了基本的检查,比如工资不是负数。零售数据库可能不允许具有相同的序列号购买回一次以上,或可能不允许信用卡购物超过一定值,而用于检测欺诈数据库可能会允许这类事情。

参见关系

C

CFG文件

与使用一个元数据文件InnoDB可传输表空间功能特色它是由命令生成FLUSH TABLES ... FOR EXPORT,把一个或多个表在一个一致的状态,可以复制到另一台服务器。这个CFG桩复合地基文件复制以及相应的IBD文件,用于调整的内在价值.ibd文件,如空间ID,在ALTER TABLE ... IMPORT TABLESPACE

参见IBD文件空间ID可传输表空间

隐藏物

存储频繁或高速检索数据的副本的任何内存区域的总称。进入InnoDB,缓存结构的主要类型是缓冲池

参见缓冲区缓冲池

基数

在一个表中的不同值的个数专栏。当查询所引用的列有相关指数,每列的影响,访问方法是最有效的基数。例如,一个柱形唯一的约束,不同值的数目等于表中的行数。如果一个表有一百万行,但对于一个特定的列只有10个不同的值,每个值出现(平均)的100000倍。查询等SELECT c1 FROM t1 WHERE c1 = 50;因此可能会返回1行或一个巨大的行数,和数据库服务器可以处理查询不同的基数C1

如果列中的值的分布极不平衡,基数可能不确定最佳的查询计划的一个好方法。例如,SELECT c1 FROM t1 WHERE c1 = x;可能会返回一行时x=50一百万行时x=30。在这种情况下,您可能需要使用索引提示通过建议,查找方法为特定的查询效率更高。

基数也可以适用于不同的多个列中的值的数量,如在综合指数

参见专栏综合指数指数索引提示随机跳选择性唯一约束

变化的缓冲

一个特殊的数据结构来记录变化网页进入次要指标。这些值可能会导致SQLINSERTUPDATE,或DELETE报表(DML)。涉及改变缓冲区被统称为特征集变化的缓冲的,由插入缓冲删除缓冲,和清除缓存

变化仅仅是记录在改变缓冲时从二级指标的相关页面不在缓冲池。当相关的索引页面进入缓冲池,而相关的变化仍在变化的缓冲,这是应用页面缓冲池中的变化(合并)使用从改变缓冲区中的数据。定期的净化操作运行时系统大多闲置,或缓慢关闭期间,书写新的索引页到磁盘。在清除操作可以对一系列指标值比如果每个值被写入到磁盘的磁盘块立即地写。

身体,改变缓冲区的一部分系统表空间,使指数变化保持缓冲在数据库重新启动。变化是唯一的应用(合并)当页面进入缓冲池,由于一些其他的读操作。

并存储在缓冲区的数据量变化的类型是由innodb_change_bufferinginnodb_change_buffer_max_size配置选项。看在变化的缓冲区的当前数据信息,问题SHOW ENGINE INNODB STATUS命令

原名插入缓冲

参见缓冲池变化的缓冲删除缓冲DML插入缓冲插入缓冲合并网页净化清除缓存次要指标系统表空间

变化的缓冲

一般的功能包括变化的缓冲的,由插入缓冲删除缓冲,和清除缓存。指数的变化从SQL语句造成的,这通常涉及随机I/O操作,保持背部和背景进行定期线。这一系列的操作可以对一系列指标值比如果每个值被写入到磁盘的磁盘块立即地写。受innodb_change_bufferinginnodb_change_buffer_max_size配置选项

参见变化的缓冲删除缓冲插入缓冲清除缓存

检查点

为使被缓存在数据页的变化缓冲池,这些变化都写入数据文件一段时间后,这一过程称为冲洗。检查点是一个最新的变动记录(以LSN值)已成功写入数据文件。

参见缓冲池数据文件脸红模糊检验点LSN

校验和

进入InnoDB,验证机制来检测腐败时网页在一个表空间从磁盘中读取到InnoDB缓冲池。这个功能是由innodb_checksumsMySQL 5.5中的配置选项。innodb_checksums在mysql 5.6.3弃用,取而代之innodb_checksum_algorithm

这个innochecksum命令可以在一个规定的校验值的测试诊断的腐败问题表空间文件在MySQL服务器关闭。

MySQL也使用和复制的目的。有关详细信息,参见配置选项binlog_checksummaster_verify_checksum,和slave_sql_verify_checksum

参见缓冲池网页表空间

子表

在一个外键关系,子表的行是指(或点)到另一个表中的行与特定列相同的值。这是表包含FOREIGN KEY ... REFERENCES条款和可选在更新ON DELETE条款.在相应的行父表必须在排可以在子表中创建的存在。子表中的值可以防止删除或更新父表的操作,或可导致子表中自动删除或更新,基于ON CASCADE选择使用时创建外键

参见外键父表

干净的页面

网页InnoDB缓冲池在内存中的所有变化也被写(冲洗)的数据文件。一个相反的脏页

参见缓冲池数据文件脏页脸红网页

干净关闭

关机完成没有错误,并适用于所有的变化InnoDB表之前完成,而不是一个崩溃快速关机。同义词缓慢关闭

参见崩溃快速关机关机缓慢关闭

客户

一种程序发送请求到服务器,并解释或过程的结果。客户端软件可能只运行一段时间(如一个邮件或聊天程序),并可能交互运行(如MySQL命令处理器)

参见MySQL服务器

聚集索引

这个InnoDB一个术语主键指数InnoDB表存储组织基于主键列的值,以加快查询的速度和类型的主键列。为了获得最佳性能,精心选择基于性能最关键的查询主键列。因为修改的聚集索引的列是一个昂贵的操作,选择那些很少或从不更新主列。

在Oracle数据库产品,这种类型的表称为一个索引组织表

参见指数主键次要指标

冷备份

备份在数据库关闭。繁忙的应用程序和网站,这可能是不实际的,你可能会喜欢热备份热备份

参见备份热备份热备份

专栏

一个数据项在,其存储和语义的数据类型定义。每个指数很大程度上是由它所包含的列集。

每列都有一个基数value。在柱过程中可以的主键其表,或主键的一部分。一列可以是一唯一的约束,一个非空约束,或两者。在不同的列值,甚至在不同的表格,可以联系的外键关系

在MySQL内部操作的讨论,有时领域is used as a同义词。

参见基数外键指数非空约束主键唯一约束

列的索引

一个指数在单柱

参见综合指数指数

列前缀

当一个指数是一种长度规格的创建,如CREATE INDEX idx ON t1 (c1(N)),只有前n个字符列的值存储在索引。保持指数前缀小使索引结构紧凑,与内存和磁盘I/O的储蓄帮助性能。(虽然使得指数前缀太小会妨碍查询优化的不同的价值观使行出现查询优化器是重复的。)

包含二进制值或长文本字符串的列,其中排序不是主要考虑在索引中存储整个价值会浪费空间,索引会自动使用第一个(通常为768)的价值进行查找和分类特征。

参见指数

犯罪

SQL说的是交易,使永久性的事务作出任何改变。这是相反的回降在交易中,撤消所做的任何更改。

InnoDB使用一个乐观的机制的承诺,这样的变化可以写入到数据文件之前提交实际发生。该技术使承诺更快,与权衡,更多的工作是在一个回滚的情况下所需的。

默认情况下,MySQL的使用自动提交设置,自动执行COMMIT以下每个SQL语句。

参见自动提交乐观的回降SQL交易

紧凑的行格式

行格式InnoDB表。这是默认的行格式从MySQL 5.0.3 MySQL 5.7.8。在MySQL 8中,默认的行格式定义的innodb_default_row_format配置选项,其中有一个默认设置动态。这个粉盒行格式为空值和可变长度列一个更紧凑的表示比冗余行格式

有关更多信息InnoDB粉盒行格式,见第15.10.4,紧凑和多余的行格式”

参见动态行格式文件格式多余的行格式行格式

综合指数

一个指数包括多个列

参见指数

压缩备份

的压缩特性MySQL企业备份产品使压缩的副本的每个表空间,改变扩展.ibd。-。压缩备份数据可以保持更多的备份在手,减少时间转移到不同的服务器备份。未经压缩的数据还原操作期间。当一个压缩的备份操作流程表已经被压缩,它跳过该表的压缩,因为压缩又会导致很少或根本没有节省空间。

一组产生的文件MySQL企业备份产品,其中每个表空间压缩。压缩文件重命名为一.ibz文件扩展名

应用压缩在备份过程开始有助于避免在压缩过程中的存储开销,并避免网络开销时,转移到另一个服务器的备份文件。过程应用这个二进制日志需要更长的时间,而且需要解压缩备份文件。

参见申请二进制日志压缩热备份MySQL企业备份表空间

行压缩格式

行格式使数据和指标压缩InnoDB表大字段存储远离认为行数据的其他页面,如动态行格式。无论是索引页和大领域被压缩,产生的内存和磁盘的储蓄。根据数据结构,内存和磁盘使用的减少可能会或可能不会超过解压缩数据的性能开销,因为它是用。看到15.9节,“InnoDB表和页面压缩”使用细节

有关更多信息InnoDB压缩的行格式,见第15.10.3,动态压缩行格式”

参见压缩动态行格式行格式

压缩表

一个表中的数据是以压缩形式存储。为InnoDB这是一个表创建的,ROW_FORMAT=COMPRESSED。看到15.9节,“InnoDB表和页面压缩”更多信息

参见行压缩格式压缩

压缩

一个使用较少的磁盘空间,广泛的利益特征,执行I / O,并使用更少的内存缓存。

InnoDB支持表级和页面级压缩。InnoDB网页压缩也被称为透明页面压缩。为更多的信息关于InnoDB压缩,看15.9节,“InnoDB表和页面压缩”

另一种类型的压缩是压缩备份特征的MySQL企业备份产品

参见缓冲池压缩备份行压缩格式DML透明页面压缩

压缩破坏

没有真正的错误,而不是一个昂贵的操作时,使用压缩结合DML运营它发生在一个压缩的更新:网页保留记录的修改页面区域溢出;页面压缩了,所有的更改应用到数据表;再压缩的数据不适合在原来的页面,需要MySQL数据分割成两个新的页面,每一个单独的压缩。检查这种情况的频率,查询INFORMATION_SCHEMA.INNODB_CMP表格和检查多少价值的compress_ops列的值超过COMPRESS_OPS_OK专栏理想情况下,压缩故障不经常发生;当他们这样做时,你可以调整innodb_compression_levelinnodb_compression_failure_threshold_pct,和innodb_compression_pad_pct_max配置选项

参见压缩DML网页

组合索引

看到综合指数

并发

多操作的能力(在数据库术语,交易)同时运行,互不干扰。并发还参与演出,因为理想的同时为多个交易的保护工作以最小的性能开销,使用有效的机制锁定

参见锁定交易

配置文件

文件保存选项值使用MySQL启动时。传统上,在Linux和UNIX这个文件的名称my.cnf,和Windows是命名my.ini。你可以设置一些在InnoDB相关选项[mysqld]文件的部分

看到第4.2.6、“使用选项文件”信息搜索在MySQL的配置文件。

当你使用MySQL企业备份产品,通常使用两个配置文件:一个指定数据的来源以及如何构成(这可能是您的服务器的配置文件),和一个精简的一个只包含一个小的设置选项,指定在备份的数据以及如何构成。与使用的配置文件MySQL企业备份产品必须包含通常排除规则配置文件的选项,所以你可能需要添加到您现有的配置文件选项一起使用MySQL企业备份

参见my.cnfMySQL企业备份选项选项文件

一致性读

读操作使用快照信息的基础上在一个时间点的查询的结果,无论是同时运行的其他事务执行的变化。如果查询的数据已被其他事务改变,原始数据是基于内容的重构撤消日志. 这技术证明了一些锁定的问题,可以减少并发通过强迫交易等其他交易完成。

可重复读隔离级别,快照是基于时间的时候第一次读操作执行。与提交读快照隔离级别,设置为每个读操作的时间一致。

一致性读是在默认模式InnoDB过程选择报表提交读可重复读隔离级别。因为一致读不设置任何锁表的访问,其他会话可以自由修改的表而一致读的是桌上进行。

对技术细节的适用的隔离级别,看第15.5.2.3,“一致的非锁定读”

参见并发隔离级别锁定提交读可重复读快照交易撤消日志

约束

自动测试可以阻止数据库变化来防止数据变得不一致。(在计算机科学方面,一种一个不变的条件下,相关的断言)约束的重要组成部分哲学,保持数据的一致性。支持mysql的约束包括外资的关键约束唯一约束

参见外键唯一约束

柜台

一个值递增的一种特殊的InnoDB运营用于测量一个服务器有多忙,解决性能问题的来源,并测试是否变化(例如,配置设置或指标用于查询)所需的低水平的影响。不同种类的计数器,可通过性能模式表和information_schemaTable,particularlyINFORMATION_SCHEMA.INNODB_METRICS

参见information_schema度量计数器性能模式

覆盖指标

一个指数这包括所有列的查询检索。而不是使用索引值来找到完整的表行的指针,查询返回的值的索引结构,节省磁盘I / O.InnoDB可以应用这种优化技术指标比MyISAM更多,因为InnoDB二级指标还包括主键专栏InnoDB无法应用此技术对表由一个事务修改查询,直到交易结束。

任何列的索引综合指数可以作为一个覆盖指数,对给定的查询。设计你的索引和查询,利用优化技术,尽可能。

参见列的索引综合指数指数主键次要指标

CPU绑定

一种工作量其中主要的瓶颈在内存CPU运算。通常涉及读密集型的操作的结果都可以被缓存在缓冲池

参见瓶颈缓冲池工作量

崩溃

MySQL使用的术语崩溃代指任何意外关机运行在服务器不能正常清理。例如,事故可能发生在数据库服务器或存储设备硬件故障;一个断电;潜在的数据不匹配导致MySQL服务器停止;一快速关机由DBA发起;或有其他的原因。强大的,自动崩溃恢复InnoDB表确保数据一致时,重新启动服务器,无需任何额外工作的DBA。

参见崩溃恢复快速关机InnoDB关机

崩溃恢复

清理活动发生时,MySQL后再次启动崩溃。为InnoDB表格不完整交易,改变被使用的数据来自重做日志文件。的变化,坚信的在崩溃之前,但尚未写入数据文件,重建从doublewrite缓冲。当数据库正常停运,这类活动是执行期间关闭了净化运营

在正常操作过程中,提交的数据可以存储在变化的缓冲前一段时间被写入数据文件。总有一个保持最新的数据文件之间的权衡,其中介绍了性能开销正常运行时,缓冲数据,使停机和故障恢复需要更长的时间。

参见变化的缓冲犯罪崩溃数据文件doublewrite缓冲InnoDB净化重做日志文件

CRUD

的缩写创建、读取、更新、删除,常见的数据库应用程序中的操作顺序。通常指一类相对简单的数据库应用程序(基本用法DDLDML查询报表SQL),可以在任何语言的快速实现。

参见DDLDML查询SQL

光标

一个内部数据结构,是用来代表一个结果查询,或其他操作执行搜索使用SQLWHERE条款.它像其他高级语言的一个迭代器,生产的每一个值从结果集的要求。

虽然SQL游标通常处理为你处理,你可能会深入到内部工作时处理性能的关键代码。

参见查询

D

数据定义语言

看到DDL

数据字典

元数据记录等数据库对象指标,和表专栏。对于MySQL数据字典,介绍了在MySQL 8中,元数据是位于InnoDB文件表在表空间文件mysql数据库目录。对于InnoDB数据字典,元数据是位于身体InnoDB系统表空间

因为MySQL企业备份产品总是备份InnoDB系统表空间的备份,包括所有的内容InnoDB数据字典

参见专栏文件表FRM文件指数MySQL企业备份系统表空间

数据目录

目录下,每个MySQL实例保持数据文件InnoDB代表个人的数据库目录。受datadir配置选项

参见数据文件实例

数据文件

身体包含文件指数数据

这个InnoDB系统片,持有InnoDB数据字典并能保持数据的多InnoDB表,是由一个或多个代表ibdata数据文件

每个表的表空间文件,将一个单一的数据InnoDB表,是由一个鸡传染性法氏囊病数据文件

一般的表空间(介绍MySQL 5.7.6),可多容纳数据InnoDB表,也由一个鸡传染性法氏囊病数据文件

参见数据字典文件表一般的表空间IBD文件ibdata文件指数系统表空间表空间

数据操纵语言

看到DML

数据仓库

一个数据库系统或应用程序,主要是大查询。只读或读为主的数据可能是有组织的规格化查询效率。可以从中受益的优化只读事务在MySQL 5.6和更高。对比OLTP

参见规格化OLTP查询只读事务

数据库

在MySQL数据目录,每个数据库是由一个单独的目录表示。InnoDB系统片,可容纳表从多个数据库中的数据在一个MySQL实例,保持数据文件居住在单个数据库目录。什么时候文件表模式是启用的IBD文件代表个人InnoDB表存储在数据库目录,除非在别处使用DATA DIRECTORY条款.一般的表空间,介绍了在MySQL 5.7.6,也持有表数据IBD文件。不同于文件表IBD文件,一般的表空间IBD文件可以把表从多个数据库中的数据在一个MySQL实例,可分为相对独立的MySQL数据目录或目录。

长期的MySQL用户,数据库是一个熟悉的概念。用户从Oracle数据库的一个背景,会发现一个数据库MySQL的含义更接近Oracle数据库调用图式

参见数据文件文件表IBD文件实例图式系统表空间

DCL

数据控制语言,一套SQL管理权限的声明。在MySQL数据库中,组成的GRANTREVOKE声明.对比DDLDML

参见DDLDMLSQL

DDL

数据定义语言,一套SQL操纵数据库本身而不是个人的表行的语句。包括所有形式的CREATE改变,和DROP声明.还包括截断声明,因为它不同于一DELETE FROM table_name声明,虽然最终的效果是相似的。

DDL语句自动犯罪目前交易他们不能;回滚

这个InnoDB在线DDL增强的性能特征CREATE INDEXDROP INDEX,和许多类型的ALTER TABLE运营看到15.12节,“InnoDB和在线DDL”更多信息。另外,该InnoDB文件表设置可以影响行为DROP TABLETRUNCATE TABLE运营

对比DMLDCL

参见犯罪DCLDML文件表回降SQL交易

死锁

在不同的情况交易无法继续,因为每个持有锁具其他的需要。因为交易双方正在等待资源可用,都将释放它的锁。

死锁可以发生在多个表中的行交易锁(通过报表等UPDATE选择更新),但在相反的顺序。死锁时也会出现这样的语句锁定范围的索引记录空白,每个交易获取一些锁而不是别人由于时机问题。

关于死锁的背景信息的自动检测与处理,见第15.5.5.2,“死锁检测和回滚”。为避免与死锁条件恢复提示,看第15.5.5.3,“如何减少和Handle Deadlocks”

参见Gap锁具交易

死锁检测

一种机制,可以自动检测到死锁时,自动回滚其中的一个交易参与(The受害者)。死锁检测可以禁用使用innodb_deadlock_detect配置选项

参见死锁回降交易受害者

删除

什么时候InnoDB过程删除表,行立即标记为删除,不再返回的查询。存储再生之后,周期性的垃圾收集过程中被称为净化运营去除大量的数据,用自己的表现特征的相关操作截断

参见净化截断

删除缓冲

二级索引页存储技术带来的变化,DELETE操作,在变化的缓冲而不是写的随之变化,使物理写入可减少随机I/O(因为删除操作是一个两步的过程,这个操作的缓冲区写入通常标记为删除的索引记录)是一种变化的缓冲;其他插入缓冲清除缓存

参见变化的缓冲变化的缓冲插入缓冲插入缓冲清除缓存

规格化

数据存储策略,备份的数据在不同的表中,而不是连接表外键加入查询。通常used in数据仓库应用程序,其中的数据不更新后装。在这些应用中,查询性能比制造简单的更新保持一致的数据更重要。对比归一化

参见数据仓库外键加入归一化

降序索引

一种指数在索引的存储优化过程ORDER BY column DESC条款.

参见指数

字典对象的缓存

字典对象缓存存储先前访问数据字典内存中的对象,使对象重用和减少磁盘I / O. AnLRU基于驱逐策略用于将最近最少使用的对象从内存。高速缓存是由几个分区存储不同类型的对象。

有关更多信息,参见14.4节,“字典对象缓存”

参见数据字典LRU

脏页

网页InnoDB缓冲池已更新的记忆中,那里的变化还没有写出来(冲洗)的数据文件。一个相反的干净的页面

参见缓冲池干净的页面数据文件脸红网页

脏读

一个检索不可靠的数据操作,数据被另一个事务更新但尚未坚信的。这是唯一可能的隔离级别被称为未提交读

这种手术不需要坚持数据库设计的原则。它被认为是非常危险的,因为数据可以回滚进一步,或更新之前被提交;然后,交易做脏读会使用,从未被证实是准确的数据。

它的对面是一致性读,在那里InnoDB确保一个事务不读信息被另一个事务更新,即使其他事务提交的同时。

参见犯罪一致性读隔离级别未提交读回降

基于磁盘的

一种数据库,主要是组织在磁盘上存储的数据(硬盘或等效的)。数据带来的磁盘和内存之间来回进行操作。这是一个相反的内存数据库。虽然InnoDB是基于磁盘的,它也包含了如他缓冲池,多缓冲池的情况下,和自适应哈希索引允许某些类型的工作负载主要是从内存的工作。

参见自适应哈希索引缓冲池内存数据库

磁盘绑定

一种工作量其中主要的瓶颈是磁盘I/O(也被称为I/O密集型。)通常需要频繁的写入磁盘,或随机读取更多的数据比可以适应缓冲池

参见瓶颈缓冲池工作量

DML

数据操纵语言,一套SQL语句执行INSERTUPDATE,和DELETE运营这个SELECT声明有时被认为是作为一个DML语句,因为选择更新形式是受同样的考虑锁定作为INSERTUPDATE,和DELETE

一个DML语句InnoDB在一个上下文操作表交易,所以它们的影响可以坚信的回滚作为一个单位

对比DDLDCL

参见犯罪DCLDDL锁定回降SQL交易

文档ID

InnoDB全文检索特征,一种特殊的列的表中包含全文索引,识别与每个文档IList价值。它的名字是FTS_DOC_ID(大写要求)。柱本身必须要bigint符号不空型,与一个命名的唯一索引FTS_DOC_ID_INDEX。最好,你在创建表时定义该列。如果InnoDB要向表中添加列时创建FULLTEXT索引,索引操作是相当昂贵的。

参见全文检索全文索引IList

doublewrite缓冲

InnoDB使用一个文件doublewrite冲洗技术。在写作前网页数据文件InnoDB他们先对相邻地区的doublewrite写缓冲。只有在写的doublewrite缓冲液冲洗已经完成,并InnoDB在写数据文件到适当的位置的页面。如果有一个操作系统,存储子系统,或mysqld在一页写中间过程碰撞,InnoDB以后可以找到网页的一个很好的副本从doublewrite缓冲区中崩溃恢复

虽然数据总是写两次的doublewrite缓冲不需要两倍的I/O开销或两倍的I/O操作。数据写入缓冲区本身作为一个连续的块,与一个单一的fsync()对操作系统的调用

关掉doublewrite缓冲,指定选项innodb_doublewrite=0

参见崩溃恢复数据文件网页净化

一种DDL手术移除方案对象,通过这样一个语句DROP TABLEDROP INDEX。它内部的地图ALTER TABLE声明。从一个InnoDB的角度来看,这样的操作的性能考虑涉及时间,数据字典锁定确保相关对象都更新,和时间更新的内存结构如缓冲池。对于一个,删除操作有所不同的特点,比截断操作(TRUNCATE TABLEstatement)。

参见缓冲池数据字典DDL截断

动态行格式

一个InnoDB行格式。因为长的可变长度列的值存储,持行数据页的行外,包括大的对象是非常有效的。由于大领域通常不访问评估查询条件,不纳入缓冲池通常,导致更少的I/O操作和更好地利用高速缓存存储器。

在MySQL 5.7.9,默认行格式定义innodb_default_row_format,其中有一个默认值动态

有关更多信息InnoDB动态行格式,见第15.10.3,动态压缩行格式”

参见缓冲池文件格式行格式

E

早期采用者

一个阶段的类似测试版,当一个软件产品通常是评估性能,功能,和非关键任务的环境兼容性。

参见测试版

错误日志

一种日志显示关于MySQL的启动和运行时的错误信息和关键崩溃信息详情见5.4.2部分,“错误日志”

参见崩溃日志

驱逐

从缓存或其他临时存储区中删除项目的过程中,如InnoDB缓冲池。通常,但并非总是如此,使用LRU这是什么?当脏页是拆迁户,其内容是冲洗磁盘,和任何肮脏的邻居页可能是flushed所以。

参见缓冲池脏页脸红LRU邻居页

独占锁

一种锁具这可以防止任何其他交易从锁定同一行。根据交易隔离级别,这种锁可以阻止其他事务写入相同的行,或者也可以阻止其他事务读取同一行。默认的InnoDB隔离级别,可重复读,使高并发通过允许交易阅读有排它锁的行,该技术被称为一致性读

参见并发一致性读隔离级别锁具可重复读共享锁交易

程度

一组网页在一个表空间。为默认页面大小16Kb,某种程度上包含了64页。在MySQL 5.6中,一个页面大小InnoDB例如可以4KB,8KB,16KB,受innodb_page_size配置选项。为4KB,8KB,and 16Kb pages sizes,the extent size is always 1mb(or 1048576 Byts).

为32KB和64KB的支持InnoDB页面大小是MySQL 5.7.6添加。为32KB的页面大小、程度大小为2MB。一个64KB页面大小、程度大小为4MB。

InnoDB等功能部分读前请求和doublewrite缓冲使用I/O操作,读、写、分配、或免费的数据一定程度上在一个时间。

参见doublewrite缓冲网页页面大小读前表空间

F

FRM文件

一个包含数据文件,如表定义,一个MySQL表。.frm文件在MySQL 8中删除但仍在使用的早期的MySQL版本。在MySQL 8中,以前存储的数据。FRM文件存储在数据字典

参见数据字典MySQL企业备份系统表空间

快速创建索引

能力,首先介绍了InnoDB插件,现在在5.5高MySQL部分,加速创新InnoDB二级指标通过避免需要完全重写相关的表。加速下降的次要指标,也适用于。

因为索引维护可以增加性能消耗许多数据传输操作,考虑做手术如ALTER TABLE ... ENGINE=INNODB插入…SELECT * FROM…没有任何地方的二级指标,并建立索引之后。

在MySQL 5.6中,这个功能变得更普遍。你可以读写表,索引被创建,和许多种ALTER TABLE可以执行的操作而不复制表,无堵塞DML操作,或两者。因此在MySQL 5.6和更高,这些特征被称为在线DDL而不是快速创建索引

相关的信息,看InnoDB快速创建索引,和15.12节,“InnoDB和在线DDL”

参见DML指数在线DDL次要指标

快速关机

默认的关机程序InnoDB,基于配置设置innodb_fast_shutdown=1。为了节省时间,一定脸红操作跳过。在正常的使用这种类型的关闭是安全的,因为冲水操作下启动过程中进行的,使用相同的机制为崩溃恢复。如果数据库被关闭了一个升级或降级,做缓慢关闭相反,以确保所有相关的变化应用到数据文件在关机

参见崩溃恢复数据文件脸红关机缓慢关闭

文件格式

文件格式InnoDB

参见文件表IBD文件ibdata文件行格式

文件表

这个设置控制的通用名称innodb_file_per_table选择,这是一个重要的配置选项,影响方面InnoDB文件存储,可用性的特点,和I/O特性。在MySQL 5.6.7,innodb_file_per_table默认情况下启用

innodb_file_per_table启用选项,你可以自己创建一个表IBD文件而不是在共享ibdata文件系统表空间。表中的数据是存储在一个单独的IBD文件,你有更大的灵活性来选择行格式如数据所需的功能压缩。这个TRUNCATE TABLE操作也更快,和再生的空间可以使用的操作系统而不是保留InnoDB

这个MySQL企业备份产品更灵活的表,在他们自己的文件。例如,表可以排除一个备份,但如果他们是在单独的文件中。因此,此设置适用于表备份较少或在不同的时间表。

参见行压缩格式压缩文件格式IBD文件ibdata文件innodb_file_per_tableMySQL企业备份行格式系统表空间

填充因子

在一个InnoDB指数一个比例,网页这是由索引数据在页面分割。未使用的空间时,指标数据首先分页之间允许将行更长的字符串的值而无需昂贵的索引维护操作更新。如果填充因子太低,指标要比需要更多的空间,导致额外的I/O开销阅读索引时。如果填充因子太高,任何更新,增加列值的长度可用于索引维护带来额外的I/O开销。看到第15.8.2.2,“InnoDB索引的物理结构更多信息

参见指数网页

固定行格式

这一行的格式是用MyISAM存储引擎,不InnoDB。如果您创建了一个InnoDB与选择表ROW_FORMAT=FIXED在MySQL 5.7.6或更早的,InnoDB使用紧凑的行格式相反,虽然FIXED值可能仍会显示在输出等显示表状态报告在MySQL 5.7.7,InnoDB返回一个错误如果ROW_FORMAT=FIXED指定

参见紧凑的行格式行格式

脸红

要更改数据库文件被缓存在内存区或临时存储区。这个InnoDB存储结构,包括定期冲洗重做日志文件,的撤消日志,和缓冲池

Flushing可能因为存储区已满,系统需要释放一些空间,因为犯罪手术方式从交易的变化可以确定,或因为缓慢关闭手术意味着所有优秀的工作要完成。当它不冲洗所有缓冲数据在一次关键的,InnoDB可以使用一种称为模糊检验点把小批量的页面展开的I/O开销。

参见缓冲池犯罪模糊检验点重做日志文件缓慢关闭撤消日志

刷新列表

一个内部InnoDB数据结构,轨道脏页缓冲池是的,:网页已发生变化,需要写回磁盘。这是数据结构中经常更新的InnoDB内部的迷你交易,所以是由其自身的保护互斥允许并发访问的缓冲池。

参见缓冲池脏页LRU迷你交易互斥网页页面干净

外键

一种指针类型的关系,行与行之间的分离InnoDB表外键关系定义一列的父表子表

除了能够快速查找相关信息,有助于加强对外键参照完整性,以防止这些指针无效数据的插入、更新和删除。这是一种执法机制约束。一排,点到另一个表不能如果关联的外键值不在其他表中存在插入。如果删除一行或外键值改变,排在另一个表点到外键值,外键可以设置防止缺失,导致在其他表中对应的列值为无效的,或自动删除相应的另一个表中的行。

一个阶段的设计归一化数据库是确定复制数据,将数据导入新表,并设置外键关系的多个表可以查询就像一个表,使用加入运营

参见子表外键约束加入归一化无效的父表参照完整性关系

外键约束

类型约束维护数据库的一致性通过外键关系像其他种类的限制,它可以防止数据被插入或更新的数据将变得不一致,如果不一致;在这种情况下,不能在多个表之间的数据。另外,当DML进行操作,FOREIGN KEY约束可能导致数据到相关的子行被删除,更改为不同的值,或者设置为无效的,基于ON CASCADE选项指定当创建外键

参见子表约束DML外键无效的

FTS

在大多数情况下,一个缩写全文检索。有时在性能的讨论中,一个缩写全表扫描

参见全表扫描全文检索

完全备份

备份这包括所有在每一个MySQL数据库,和在一个MySQL的数据库实例。对比部分备份

参见备份数据库实例部分备份

全表扫描

操作需要读表的全部内容,而不是只选择部分使用指数。通常可以用小的查找表,或在数据仓库的情况下,大表在所有可用的数据汇总和分析。这些操作如何频繁发生,和大小的表相对可用的内存,有用于查询优化和管理算法的影响缓冲池

指标的目的是让一个大表中的特定值或范围值的查找,从而避免全表扫描时,实际。

参见缓冲池指数

全文检索

寻找单词,短语,MySQL的功能词的布尔组合,所以在表中的数据,在一个更快,更方便,更灵活的方式比使用SQLLIKE操作员或编写自己的应用程序级别的搜索算法。它使用SQL函数MATCH()全文索引

参见全文索引

全文索引

这类特殊的指数持有搜索指数在MySQL全文检索机制.代表从一列值的话,省略任何被指定为停用词。原来,只有MyISAM表5.6.4启动MySQL,它也可用于InnoDB

参见全文检索指数InnoDB搜索指数停用词

模糊检验点

一种技术,小批量脏页缓冲池,而不是冲洗一次会破坏数据库处理所有脏页。

参见缓冲池脏页脸红

G

GA

一般可用当一个软件产品的阶段,叶测试版与发售,官方的支持,与生产应用。

参见测试版

Gap

在一个地方InnoDB指数数据结构,可以插入新值。当你锁定一组有这样一个语句行SELECT ... FOR UPDATEInnoDB可以创建锁适用于间隙以及各指标的实际值。例如,如果你选择的所有值大于10更新,间隙锁可防止另一个事务插入一个新的值是大于10。这个上记录下确界纪录代表空白包含所有值大于或小于当前所有指标值。

参见并发间隙锁指数下确界纪录隔离级别上记录

间隙锁

锁具在一个Gap索引记录之间,或锁上的差距在第一个或最后一个索引记录后。例如,SELECT c1 FROM t WHERE c1 BETWEEN 10 and 20 FOR UPDATE;可以防止其他事务插入一个值为15的列t.c1,是否已经有任何这样的列中的值,因为在范围内的所有现有值之间的差距被锁定。对比记录锁定下一个关键的锁

间隙锁之间的权衡性能和部分并发,和被用在一些交易隔离层而不是别人

参见Gap下确界纪录锁具下一个关键的锁记录锁定上记录

一般的日志

看到通用查询日志

通用查询日志

一种日志用于诊断和SQL语句的MySQL服务器进行故障排除。可以存储在文件或数据库中的表。你必须通过启用此功能general_log配置选项来使用它。您可以禁用它通过一个特定的连接sql_log_off配置选项

记录更大范围的问题比慢查询日志。不像二进制日志,which is used for the general查询日志包含复制;SELECT陈述和不保持严格的顺序。有关更多信息,参见5.4.3节,“通用查询日志”

参见二进制日志日志慢查询日志

一般的表空间

一个共享InnoDB表空间创建使用CREATE TABLESPACE语法。一般的表空间可以创建MySQL数据目录之外,能够容纳多个,和所有的行格式支持表。介绍了在MySQL 5.7.6一般表空间。

表添加到一个表空间使用CREATE TABLE tbl_name ... TABLESPACE [=] tablespace_nameALTER TABLE tbl_name TABLESPACE [=] tablespace_name语法

对比系统表空间文件表表空间

有关更多信息,参见第15.7.10”一般,InnoDB表空间”

参见文件表系统表空间表空间

生成的列

一列从表达式的值包含在计算列定义。一个生成的列可以事实上的存储

参见基柱存储生成的列虚拟生成的列

生成存储列

看到存储生成的列

生成的虚拟列

看到虚拟生成的列

全球交易

一种交易参与XA运营它包括在自己交易的几个动作,但都必须成功完成为一组,或全部回滚为一组。在本质上,这种延伸性能升一级所以,多酸的交易可以执行在演唱会作为一个全球性的行动,也有酸性成分。

参见交易XA

集团承诺

一个InnoDB优化执行一些底层的I/O操作(写日志)一次为一组犯罪行动,而不是冲洗和同步分别提交。

参见二进制日志犯罪

H

哈希索引

一种指数用于使用相等运算符的查询,而不是范围的运营商如大于或BETWEEN。它是可用的MEMORYTable .如果您发现有错误,请尽管发表评论!MEMORY由于历史原因表,存储引擎还支持B-树指标,这往往是通用查询一个更好的选择。

MySQL includes a变量of a变量of this Index类型,The MysQL Indicated of this Index类型,The MysQL自适应哈希索引,即构建自动InnoDB表如果基于运行时所需要的条件。

参见自适应哈希索引B-树指数InnoDB

硬盘

的缩写硬盘驱动器。指的是利用旋转的磁盘存储介质,通常在比较和对比SSD。其性能特点可以影响一个吞吐量基于磁盘的工作量.

参见基于磁盘的SSD

心跳

周期性的发送这个消息表明系统运行正常。在一个复制的背景下,如果硕士停止发送这样的信息,其中的一个奴隶可以代替它。类似的技术可用于服务器之间的集群环境中,确认他们都运行正常。

参见主服务器复制

高水位

一个值代表一个上限,一个硬限制,不应超过在运行时,或记录的最大值竟然达到了。对比低水位

参见低水位

历史记录列表

一个列表交易有删除标记的记录将被处理InnoDB净化运营记录在撤消日志。历史记录列表的长度是由司令部报告SHOW ENGINE INNODB STATUS。如果历史列表就比值的时间innodb_max_purge_lag配置选项,每个DML操作延迟稍微让清洗操作完成冲洗删除记录

也被称为清除滞后

参见DML脸红净化清除滞后回滚段交易撤消日志

打洞技术

从一个页面释放空块。这个InnoDB透明页特征依赖于支持打孔。有关更多信息,参见第15.9.2,“InnoDB页面压缩”

参见稀疏档案透明页面压缩

情况列表,或内部数据结构的访问很频繁,需要某种形式的锁定或相互排斥的,它的结果在性能和可扩展性的问题。

虽然通常表明一个不良的条件下,一个热备份是备份的首选类型

参见热备份

热备份

在数据库运行和应用程序读写它的备份。备份不仅仅是简单的复制数据文件:它必须包含任何数据被插入或更新,备份过程;它必须排除任何数据,而备份过程中删除;它必须忽略任何未提交的更改。

Oracle产品进行热备份的InnoDB特别是but also from表表MyISAM和其他存储引擎,称为MySQL企业备份

热备份的过程包括两个阶段。数据文件的初始复制产生原备份。这个申请步骤包括发生在备份运行数据库的任何变化。应用变化产生制备备份;这些文件都准备在必要时恢复。

参见申请MySQL企业备份准备备份原备份

I

IBD文件

数据文件文件表tablespaces and General tablespaces。给每台表空间.idb文件包含一个表和相关的索引数据。一般的表空间.idb文件可能包含多个表的表和索引数据。

这个.ibd文件扩展名不适用于系统表空间,它由一个或多个ibdata文件

如果每个表的表空间或表空间创建一个文件的DATA DIRECTORY =的条款,鸡传染性法氏囊病文件位于指定路径,超出正常数据目录。

当一个.ibd文件被压缩在一个备份包括MySQL企业备份产品,压缩等效为.ibz文件

参见数据库文件表一般的表空间ibdata文件-文件innodb_file_per_tableMySQL企业备份系统表空间

-文件

MySQL企业备份产品执行压缩备份,它把每个表空间文件创建文件表设置从.ibd延伸到一个。-扩展

压缩应用在备份是不同的行压缩格式在正常操作期间保持表中的数据压缩。压缩备份操作跳过一表已在压缩行格式的压缩,压缩一次会减慢备份而产生很少或根本没有节省空间。

参见压缩备份行压缩格式文件表IBD文件MySQL企业备份表空间

I/O密集型

看到磁盘绑定

IB文件集

文件管理的设置InnoDB在一个MySQL数据库:的系统片文件表表空间文件,和重做日志文件文件根据MySQL版本InnoDB配置,也可能包括一般的表空间临时表空间,和撤销表空间文件这个术语有时被用来在详细讨论InnoDB文件的结构和格式是指文件管理的设置InnoDB在一个MySQL数据库。

参见数据库文件表一般的表空间重做日志文件系统表空间临时表空间撤销表空间

ibbackup_logfile

补充的备份文件创建的MySQL企业备份产品在热备份运营它包含任何数据发生的变化,而备份运行信息。初始备份文件,包括ibbackup_logfile,被称为一个原备份,因为备份操作期间发生的变化是不成立的。当你执行申请步原备份文件,生成的文件也包括那些最终数据的变化,被称为准备备份。在这一实习期间ibbackup_logfile文件不再是必要的

参见申请热备份MySQL企业备份准备备份原备份

ibdata文件

一组等名称的文件ibdata1ibdata2,等等,构成了InnoDB系统表空间。这些文件包含元数据InnoDB表,(的InnoDB数据词典),和一个或多个存储区UNDO日志,的变化的缓冲,和doublewrite缓冲。他们也可以包含一些或所有的表数据(取决于文件表模式实际上是在每个表创建)。当innodb_file_per_table选项启用,为新创建的表的数据和索引存储在单独的IBD文件Tableesace . Rather than in the system Tableesace .

的生长ibdata文件的影响innodb_autoextend_increment配置选项

参见变化的缓冲数据字典doublewrite缓冲文件表IBD文件innodb_file_per_table系统表空间撤消日志

ibtmp文件

这个InnoDB临时表空间数据文件非压缩InnoDB临时表和相关的对象。配置文件选项,innodb_temp_data_file_path,允许用户定义的临时表空间的数据文件的相对路径。如果innodb_temp_data_file_path没有指定,默认行为是创建一个单一的自动延伸12mb数据文件命名ibtmp1在数据目录中,除了ibdata1

参见数据文件临时表临时表空间

ib_logfile

一套文件,通常称为ib_logfile0ib_logfile1,形成重做日志文件。有时也被称为日志组。这些文件记录报表,企图改变数据InnoDB表这些陈述是重播的自动纠正不完整的事务写入的数据,在启动后崩溃。

这些数据不能用于手动恢复;该类型的操作,使用二进制日志

参见二进制日志日志组重做日志文件

IList

在一个InnoDB全文索引,数据结构组成的一种象征性的文档ID和位置信息(即一个特定的词)。

参见全文索引

隐行锁

行锁,InnoDB获得保证一致性,没有你的具体要求。

参见行锁

内存数据库

一种数据库系统维护数据在内存中,避免由于磁盘I/O和翻译的磁盘块和存储区之间的开销。一些内存数据库(牺牲耐久性的D设计理念)和脆弱的硬件,电源,和其他类型的故障,使其更适合于只读操作。内存数据库的其他使用耐久性等机制的更改记录到磁盘或使用非易失性存储器。

MySQL的功能,地址的内存密集型处理相同的种类包括InnoDB缓冲池自适应哈希索引,和只读事务优化的MEMORY存储引擎的MyISAM关键的缓存,和mysql query缓存。

参见自适应哈希索引缓冲池基于磁盘的只读事务

增量备份

一种热备份的,由MySQL企业备份产品,只保存数据从某个时间点的变化。有一个全备份和增量备份可以让你继承重建备份数据在很长一段时期,没有几个完整备份手上的存储开销。你可以恢复完整备份,然后将每个连续的增量备份,或者你可以利用每个增量备份到它保持最新的全备份,然后执行一个还原操作。

粒度变化数据是在网页水平。一个页面会覆盖超过一行。每个更改的页面是包含在备份。

参见热备份MySQL企业备份网页

指数

一种数据结构,提供了一种快速查找能力一个,通常由树结构的形成(B树)代表一个特定的值专栏或列

InnoDB表总是有聚集索引代表主键。他们也可以有一个或多个二级指标在一个或多个列定义。根据其结构,可分为二级指标部分专栏,或混合成的指标

指标的一个重要方面查询性能数据库架构师设计表,查询和索引允许应用程序所需要的数据的快速查找。理想的数据库设计采用覆盖指标在实用;从指标完全计算查询结果,不看实际的表中的数据。每个外键约束也需要一个指数,有效地检查是否存在的价值父母儿童

尽管B-树索引是最常见的,一种不同的数据结构用于使用散列索引,在MEMORY存储引擎和InnoDB自适应哈希索引R树指标用于多维信息空间索引。

参见自适应哈希索引B-树子表聚集索引列的索引综合指数覆盖指标外键哈希索引父表部分索引主键查询R树次要指标

索引缓存

一个内存区域,持有令牌的数据InnoDB全文检索。它缓冲数据来减少磁盘I/O在插入数据时,或在一列的更新全文索引。记号数据写入磁盘的索引缓存已满时。每个InnoDB全文指数有自己单独的索引缓存,其大小由配置选项控制innodb_ft_cache_size

参见全文检索全文索引

指数条件下推

指数条件下推(ICP)是一种优化推动的一部分WHERE条件下的存储引擎如果条件部分可以使用领域的评价指数。ICP可以减少多少次了存储引擎要访问基表和时代的MySQL服务器必须访问存储引擎数。有关更多信息,参见第8.2.1.5,“指标条件下推优化”

参见指数存储引擎

索引提示

扩展SQL语法重写指标通过优化建议。例如,在FORCE INDEX利用指数,和IGNORE INDEX条款.用于当索引列的值分布不均匀,导致不准确的基数评估

参见基数指数

指数的前缀

在一个指数适用于多个列(称为综合指数),该指数的初始或主要栏目。查询参考第一1, 2, 3等复合索引的列可以使用索引的查询,即使不参考中所有列的索引。

参见综合指数指数

指标统计

看到统计

下确界纪录

伪记录在一个指数,代表Gap在指标的最小值。如果一个事务已经声明,如SELECT ... FROM ... WHERE col < 10 FOR UPDATE;,列中的最小值是5,它是一个锁上下确界的记录,可以防止其他事务插入更小的值,如0,10,等等。

参见Gap指数伪记录上记录

information_schema

的名字数据库提供MySQL查询接口数据字典。(这个名字是由ANSI SQL标准定义)检查信息(元数据)的数据库,可以查询表等INFORMATION_SCHEMA.TABLESinformation_schema.columns,而不是使用SHOW产生非结构化输出命令。

这个INFORMATION_SCHEMA数据库还包含表的具体InnoDB为提供一个查询接口InnoDB数据字典。你使用这些表不知道数据库的结构,但要了解工作的实时信息InnoDB表格帮助与性能监控,调整和故障排除。

参见数据字典数据库InnoDB

InnoDB

MySQL组件,结合了高性能事务能力的可靠性、鲁棒性和并发访问。它体现了设计理念。表示为存储引擎;它处理创建或修改的表ENGINE=INNODB条款.看到15章,InnoDB存储引擎建筑的细节和管理程序,并8.5节,“优化InnoDB表”性能的建议

在MySQL 5.5和高,InnoDB是新表的默认存储引擎和ENGINE=INNODB条款是不需要的

InnoDB表非常适合热备份。看到29.2节,“MySQL企业备份概述”的信息MySQL企业备份备份MySQL服务器不中断正常的加工产品。

参见热备份MySQL企业备份存储引擎交易

innodb_autoinc_lock_mode

这个innodb_autoinc_lock_mode选项用于控制算法自动增量锁定。当你有一个自动递增主键你可以使用基于语句的复制,只有设置innodb_autoinc_lock_mode=1。这个设置是众所周知的连续的锁定模式,因为多行插入在一个事务中得到连续的自动增量值。如果你有innodb_autoinc_lock_mode=2插入操作,允许更高的并发性,使用基于行的复制而不是基于语句的复制。这个设置是众所周知的交错锁定模式,因为可以接收多个多行插入语句同时运行自动增量那是交错的价值。设置innodb_autoinc_lock_mode=0不应该除了兼容性的目的。

(连续锁模innodb_autoinc_lock_mode=1)是默认设置MySQL 8.0.3之前。在MySQL 8.0.3,交错的锁模式(innodb_autoinc_lock_mode=2)是默认的,它反映了基于语句的基于行的复制作为默认复制类型的变化。

参见自动增量自动增量锁定混合模式插入主键

innodb_file_per_table

一个重要的配置选项,影响很多方面InnoDB文件存储,可用性的特点,和I/O特性。在MySQL 5.6.7高,它是默认启用。这个innodb_file_per_table选项打开文件表模式。这种模式下,一个新创建的InnoDB表和相关的索引可以被存储在一个文件中的每个表IBD文件,外系统片

这个选项会影响存储性能考虑一些SQL语句,如DROP TABLETRUNCATE TABLE

使innodb_file_per_table选项允许您利用如表特征压缩命名表的备份MySQL企业备份

有关更多信息,参见innodb_file_per_table,和第15.7.4“InnoDB文件,每个表的表空间”

参见压缩文件表IBD文件MySQL企业备份系统表空间

innodb_lock_wait_timeout

这个innodb_lock_wait_timeout选项设置之间的平衡等待共享资源可用,或者放弃和处理错误,重试,或做其他处理的应用程序。回滚任何InnoDB交易等待超过指定的时间获得锁具。特殊的死锁由于更新的不同的存储引擎控制多台;此类死锁不检测自动

参见死锁死锁检测锁具等待

innodb_strict_mode

这个innodb_strict_mode选项控制是否InnoDB工作在严格模式有条件的,通常视为警告,而造成错误(和潜在的语句失败)。

参见严格模式

插入

其中一个主要的DML操作SQL。刀片的性能是一个关键因素数据仓库系统的行插入表负载百万,和OLTP系统在多并发连接可能将行插入同一个表,以任意顺序。如果插入的性能对你很重要,你应该了解InnoDB如特征插入缓冲用于变化的缓冲,和自动增量专栏

参见自动增量变化的缓冲数据仓库DMLInnoDB插入缓冲OLTPSQL

插入缓冲

训练的名称变化的缓冲。在MySQL 5.5中,支持添加缓冲改变辅助索引页DELETEUPDATE运营此前,由于只改变INSERT操作缓冲。首选项是现在变化的缓冲

参见变化的缓冲变化的缓冲

插入缓冲

二级索引页存储技术带来的变化,INSERT操作,在变化的缓冲而不是写的随之变化,使物理写入可减少随机I/O是一种变化的缓冲;其他删除缓冲清除缓存

插入缓冲是不是如果使用辅助索引独特,因为新价值的唯一性无法验证在新条目写出来。其他种类的变化做索引缓冲。

参见变化的缓冲变化的缓冲删除缓冲插入缓冲清除缓存唯一索引

插入意向锁

一种间隙锁这是一套由INSERTprior to行插入操作。这类人锁具信号的意图将在这样一种方式,多个事务插入同一指标的差距不需要如果他们不是插在缝隙内的同一位置等待对方。有关更多信息,参见第15.5.1,“InnoDB锁定”

参见间隙锁锁具下一个关键的锁

实例

一个单一的mysqld后台管理数据目录表示一个或多个数据库一套。这是常见的开发,测试,和一些复制方案在相同的多个实例服务器机,每个管理自己的数据目录和倾听自己的端口或插座。有一个实例运行磁盘绑定工作量,服务器可能还有额外的CPU和内存容量运行更多的实例。

参见数据目录数据库磁盘绑定mysqld复制服务器

仪器仪表

在源代码级的修改来收集性能数据的调整和调试。在MySQL,收集的测量数据是通过SQL接口使用INFORMATION_SCHEMAperformance_schema数据库

参见information_schema性能模式

意向排它锁

看到意向锁

意向锁

一种锁具申请表,用来指示锁的那种交易有意收购在表中的行。不同的事务可以在同一个表中不同种类的意向锁,但第一笔收购意图独占(九)在表锁阻止其他事务获取任何S或X锁在桌子上。相反,第一笔收购意向共享(是)一个表锁阻止其他事务获取桌上的任何X锁。两相过程允许锁请求可以解决的,没有阻塞锁和相应的操作是一致的。关于此锁机制的更多信息,参见第15.5.1,“InnoDB锁定”

参见锁具锁模式锁定交易

意向共享锁

看到意向锁

倒排索引

文献检索系统优化的数据结构,用于实现InnoDB全文检索。这个InnoDBFullText Index,为实现倒排索引,记录每个词的位置在一个文件中,而不是一个表的行的位置。一个列的值(如一个文本字符串存储文件)为代表的众多参赛作品中的倒排索引。

参见全文检索全文索引IList

IOPS

的缩写的I / O操作每秒。繁忙的系统中的一个常见的测量,特别是OLTP应用如果这个值接近最大的存储设备可以处理,应用程序可以成为磁盘绑定,限制可扩展性

参见磁盘绑定OLTP可扩展性

隔离级别

一个数据库处理的基础。隔离是I的缩写;隔离级别是微调的性能和可靠性,平衡一致性的设置,当多个重复性和结果交易正在改变的同时执行查询。

从一致性和保护的最高金额最少,支持InnoDB的事务隔离级别:序列化可重复读提交读,和未提交读

InnoDB表,许多用户可以保持默认的隔离级别(可重复读)所有操作。专家用户可以选择提交读他们把水平可伸缩性的边界OLTP处理,或在数据仓库业务在细微的差异不影响对大量数据的汇总结果。在边缘的水平(序列化未提交读)改变加工行为到这样的程度,他们很少使用。

参见OLTP提交读未提交读可重复读序列化交易

J

加入

查询检索数据从多个表中,通过在保持相同的值的表中引用的列。理想的情况是,这些列的一部分InnoDB外键的关系,从而保证参照完整性和连接柱索引。经常用来节省空间和数字ID替换重复串提高查询性能,在归一化数据设计

参见外键指数归一化查询参照完整性

K

key_block_size

一个选项来指定在一个数据页的大小InnoDB表格的使用行压缩格式。默认的是8字节。较低的值的风险打击的内部限制,取决于组合的行的大小和压缩率。

MyISAM桌子,key_block_size还可以指定字节大小使用索引键块。价值作为一个提示;不同的尺寸可以在必要时使用。一KEY_BLOCK_SIZE一个索引定义中指定的值将重写表级key_block_size价值

参见行压缩格式

l

门闩

一个用轻质结构InnoDB实现一个锁具自己的内部存储结构,通常会举行一个简短的时间在毫秒或微秒测量。一个通用的术语,包括互斥器(独家访问)和读写锁(共享访问)。一定的锁存器是重点InnoDB性能调优。关于锁存器的使用和竞争数据可通过性能模式接口

参见锁具锁定互斥性能模式RW -锁

列表

这个InnoDB缓冲池被表示为一个列表记忆网页。列表重新排序的新页面的访问和进入缓冲池,页面缓冲池内再次访问,被认为是新的,如网页,很长时间没有访问驱逐从缓冲池。缓冲池分为子列表,和更换政策是一个变化的熟悉LRU技法

参见缓冲池驱逐LRU网页子列表

锁具

一个对象的控制对资源的访问的高层次的概念,如表、列、或内部数据结构的一部分锁定策略密集的性能优化,你可能会深入到实际结构,实现锁,如互斥器锁存器

参见门闩锁模式锁定互斥

锁升级

一种用于一些数据库系统,把多个操作行锁为一个单一的表锁但是,节省内存空间减少并发访问表。InnoDB使用行锁空间的有效表达,所以,锁具escalation是不需要的。

参见锁定行锁表锁

锁模式

共享(S)锁具允许交易读一行。多个事务可以同时获取的锁在同一行。

独家(x)锁允许一个事务更新或删除行。没有其他事务获取任何锁在同一行的同时。

意向锁申请表,并用来表示什么样的锁交易拟收购在表中的行。不同的事务可以在同一个表中不同种类的意向锁,但第一个交易收购意向独家(IX)在表锁阻止其他事务获取任何S或X锁在桌子上。相反,第一笔交易收购意向共享(是)一个表锁阻止其他事务获取桌上的任何X锁。两相过程允许锁请求可以解决的,没有阻塞锁和相应的操作是一致的。

参见意向锁锁具锁定交易

锁定

保护系统交易看到或改变被质疑或被其他事务修改的数据。这个锁定战略必须平衡可靠性和一致性(数据库操作的原则哲学)对需要良好的性能并发。微调锁定策略通常包括选择一个隔离级别确保你所有的数据库操作的安全性和可靠性,隔离级别。

参见并发隔离级别锁定交易

锁定读

SELECT声明还执行锁定操作上InnoDB表无论是选择更新SELECT ... LOCK IN SHARE MODE。它具有生产潜力死锁,根据隔离级别“跨国公司”。The opposite of a非锁定读。不允许在一个全球性的表只读事务

SELECT ... FOR SHARE取代选择锁在共享模式在8.0.1 MySQL,但LOCK IN SHARE MODE仍然可以向后兼容

看到第15.5.2.4,锁定读”

参见死锁隔离级别锁定非锁定读只读事务

日志

InnoDB语境,日志日志文件通常是指重做日志文件为代表的ib_logfileN文件另一种类型的InnoDB日志是撤消日志,这是一个存储区域保存数据的活动事务修改副本。

其他类型的日志是重要的MySQL是错误日志(诊断启动和运行时的问题),二进制日志(用复制和表演时间点恢复的工作),通用查询日志(诊断应用程序问题),和慢查询日志(用于诊断性能问题)。

参见二进制日志错误日志通用查询日志ib_logfile重做日志文件慢查询日志撤消日志

日志缓冲区

将数据写入到存储区日志文件构成重做日志文件。它是由innodb_log_buffer_size配置选项

参见日志文件重做日志文件

日志文件

其中的一个ib_logfileN文件组成重做日志文件。数据从写入这些文件日志缓冲区存储区

参见ib_logfile日志缓冲区重做日志文件

日志组

文件组成的集合重做日志文件,通常称为ib_logfile0ib_logfile1。(因为这个原因,有时统称为ib_logfile。)

参见ib_logfile重做日志文件

符合逻辑的

一种类型的操作,包括高级别,如表、查询、索引摘要方面,和其他SQL概念。通常,逻辑方面是使数据库管理和应用开发的方便和实用的重要。对比身体的

参见逻辑备份身体的

逻辑备份

备份复制表结构和数据,而不复制实际的数据文件。例如,在mysqldump命令产生一个逻辑备份,因为它包含报表输出等CREATE TABLEINSERT可以重新创建的数据。对比物理备份。逻辑备份提供了灵活性(例如,你可以修改表的定义或插入语句之前恢复),但可能需要相当长的时间来恢复比物理备份

参见备份mysqldump物理备份恢复

loose_

要添加一个前缀InnoDB伺服后的选项创业公司,所以任何新的配置选项不是由目前的MySQL不确认导致启动失败。MySQL进程配置选项启动这个前缀,而是给出一个警告,而不是一个失败后如果前缀不识别的选项部分。

参见创业公司

低水位

一个值代表一个下限,通常是一个阈值而纠正行动开始或变得更积极。对比高水位

参见高水位

LRU

一个缩写最近最少使用,用于管理存储领域常用的一种方法。没有使用最近的项目是驱逐当空间需要缓存更新的项目。InnoDB使用LRU机制默认管理网页缓冲池但例外的情况下,一个页面可能只看一次,如在全表扫描。这种变化的LRU算法称为中点插入策略。有关更多信息,参见第15.6.3.1,“InnoDB缓冲池”

参见缓冲池驱逐全表扫描中点插入策略网页

LSN

的缩写日志序列号。这种随意的,不断增加的值代表相应的操作记录在某个时间点重做日志文件。(这个时间点是无论交易边界;它可以落在一个或更多的交易中。)它是内部使用InnoDB在期间崩溃恢复和管理缓冲池

mysql 5.6.3之前,LSN是4字节无符号整数。LSN成为mysql 5.6.3 8字节无符号整数时,重做日志文件大小限制增加从4GB到512GB,作为额外的字节需要储存多余的尺寸信息。基于MySQL 5.6.3或以后使用LSN值应使用64位而不是32位变量来存储和比较LSN值的应用。

MySQL企业备份产品,您可以指定一个LSN表示,采取一个时间点增量备份。这是由相关的输出显示mysqlbackup命令。一旦你有了相对应的全备份的时间里,你可以指定要采取后续增量备份,值,其输出包含下一个增量备份另一个LSN。

参见缓冲池崩溃恢复增量备份MySQL企业备份重做日志文件交易

M

MRG文件

一个包含其他表的参考文件,使用的MERGE存储引擎。这个扩展名的文件都包含在生成的备份mysqlbackup指挥的MySQL企业备份产品

参见MySQL企业备份mysqlbackup命令

MYD文件

一个文件,MySQL使用存储数据的一个MyISAM

参见我的文件MySQL企业备份mysqlbackup命令

我的文件

一个文件,MySQL采用存储索引一MyISAM

参见MYD文件MySQL企业备份mysqlbackup命令

主服务器

shortened竞相to硕士。在一个数据库服务器复制的情况下,过程的初始插入、更新和删除数据的请求。这些更改传播到其他服务器,并且重复,称为从服务器

参见复制从服务器

主线程

一个InnoDB线执行各种任务的背景。大多数这些任务是I/O相关的,如从写作的变化变化的缓冲在适当的第二阶段

为了提高并发行动,有时是从主线程移到单独的后台线程。例如,在MySQL 5.6和更高,脏页冲洗缓冲池页面干净线程而不是主线程

参见缓冲池变化的缓冲并发脏页脸红页面干净线

MDL

的缩写元数据锁

参见元数据锁

memcached

一种流行的组件很多MySQLNoSQL软件栈,允许快速的读取和写入单个值,结果完全在内存中缓存。传统上,应用程序需要额外的逻辑写入相同的数据到一个永久储存的MySQL数据库,或从数据库读取数据时,它是没有缓存在内存。现在,应用程序可以使用简单的memcached协议,由许多语言的客户端库的支持下,直接与MySQL服务器使用交流InnoDBNDB表这些NoSQL接口MySQL表允许应用程序实现更高的读写性能比直接发行的SQL语句,可以简化应用逻辑和部署系统,已经将配置memcached在内存中缓存

这个memcached接口InnoDB表在MySQL 5.6和高可用;看15.19节,“InnoDB Memcached插件”详情。这个memcached接口NDB表格可在NDB集群7.2后来;看dev.mysql.com http:/ / / / / ndbmemcache.html ndbapi DOC详情

参见InnoDBNoSQL

合并

将更改应用到数据缓存在内存中,例如当一个页面被带进缓冲池,以及任何适用的变化记录在变化的缓冲在缓冲区池纳入页。更新后的数据最终写入表空间脸红机制.

参见缓冲池变化的缓冲脸红表空间

元数据锁

一种锁具防止DDL在一个表,同时使用另一个操作交易。详情见第8.11.4,“元数据锁定”

增强在线操作,特别是在MySQL 5.6高,专注于减少元数据锁量。目的是为DDL操作不改变表的结构(如CREATE INDEXDROP INDEXInnoDB表),表进行查询、更新等其他交易。

参见DDL锁具在线交易

度量计数器

一个实施的特征INNODB_METRICS表中information_scema在MySQL,5.6和高。你可以查询计数和总数低InnoDB操作,并使用结果与数据相结合的性能调优性能模式

参见柜台information_schema性能模式

中点插入策略

最初引进技术网页进入InnoDB缓冲池不在最新最后的名单,而是在中间的某个地方。这一点的确切位置可以不同,基于的设置innodb_old_blocks_pct选项这样做的目的是,页面是只读一次,如在全表扫描老年人,可以从缓冲池比有严格的LRU算法.有关更多信息,参见第15.6.3.1,“InnoDB缓冲池”

参见缓冲池全表扫描LRU网页

迷你交易

一个内部相InnoDB加工时的变化身体的水平的内部数据结构中DML运营一个小型的交易(地铁)不了解回降;多个迷你交易可以在一个单一的发生交易。迷你交易信息写入到重做日志文件这是用在崩溃恢复。一个小型的交易也会发生有规律的事务上下文之外,例如在净化通过后台线程处理

参见犯罪崩溃恢复DML身体的净化重做日志文件回降交易

混合模式插入

一个INSERT声明在自动增量值指定的一些但不是所有的新的行。例如,一个多值INSERT可以指定在某些情况下自动递增列值无效的在其他情况下InnoDB生成自动增量值的行的列值被指定为无效的。另一个例子是一个INSERT ... ON DUPLICATE KEY UPDATE声明,在自动增量值可能产生但不使用,这是处理任何重复行更新而不是INSERT声明.

会导致一致性问题之间硕士奴隶中的服务器复制配置可能需要调整的价值innodb_autoinc_lock_mode配置选项

参见自动增量innodb_autoinc_lock_mode主服务器复制从服务器

地铁

看到迷你交易

多核心

一种类型的处理器,可以利用多线程的程序,如MySQL服务器。

多版本并发控制

看到MVCC

互斥

abbreviation是非正式的互斥变数。(Mutex本身是短暂的互斥低级别的对象。)InnoDB用来表示和执行独家访问锁具内部存储器中的数据结构。一旦锁是后天获得的,任何其他进程,线程,等等是无法获得相同的锁。对比读写锁,这InnoDB用来表示和执行共享访问锁具内部存储器中的数据结构。Mutexes和读写锁统称为锁存器

参见门闩锁具性能模式pthreadsRW -锁

MVCC

的缩写多版本并发控制。这种技术可以让InnoDB交易具有一定的隔离级别执行一致性读操作;即查询的行,被其他事务更新,看值从这些更新之前发生的。这是一个功能强大的技术来提高并发允许查询,而无需等待由于出发锁具Hold by the other Transactions .

在数据库世界中这种技术不是万能的。一些其他的数据库产品,和一些其他的MySQL存储引擎,不支持。

参见并发一致性读隔离级别锁具交易

my.cnf

这个名字,在Unix或Linux系统的MySQL选项文件

参见my.ini选项文件

my.ini

的名称,在Windows系统的MySQL选项文件

参见my.cnf选项文件

MySQL

这个MySQL程序是MySQL数据库的命令行解释器。它的过程SQL报表,以及MySQL特定的命令如SHOW TABLES,通过请求的mysqld守护进程

参见mysqldSQL

MySQL企业备份

许可证产品执行热备份MySQL数据库。它提供了最大的效率和灵活性,当备份InnoDB表,但也可以退MyISAM和其他各种各样的杂志。

参见热备份InnoDB

mysqlbackup命令

一个命令行工具MySQL企业备份产品它执行一个热备份操作InnoDB表,和一个热备份MyISAM和其他种类的表。看到29.2节,“MySQL企业备份概述”关于这个命令的更多信息。

参见热备份MySQL企业备份热备份

mysqld

这个mysqld程序是MySQL数据库的数据库引擎。它能够运行在Unix守护程序或Windows服务,时刻等待请求在后台进行维护工作。

参见MySQL

mysqldump

一个命令执行逻辑备份的数据库,一些组合表、和表数据。结果的SQL语句,再现原文的模式对象,数据,或两者。对于大量的数据,一物理备份这样的解决方案MySQL企业备份很快,特别是对恢复运营

参见逻辑备份MySQL企业备份物理备份恢复

N

自然的关键

一个索引列,通常主键,其中值具有一定的现实意义。通常建议不要因为:

  • 如果该值会发生变化,有可能很多索引维护重新排序聚集索引更新主键值,重复在每个副本次要指标

  • 即使是看似稳定的价值难以正确反映在数据库中,是不可预知的方式改变。例如,一个国家可以改变成两个或多个,使原来的国家代码过时。或者,可能的例外规则的独特价值。例如,即使纳税人ID是一个人独特的数据库能够处理违反规则的记录,如身份盗窃案件。纳税人ID和其他敏感的身份证号码也让可怜的主键,因为他们可能需要保护,加密,和其他的治疗不同于其他列。

因此,它通常是更好地使用任意数值的形成合成的关键,例如使用自动增量专栏

参见自动增量聚集索引主键次要指标合成的关键

邻居页

任何网页在相同的程度作为一个特定的页面。当一个页面被选为冲洗,是任何邻居页肮脏的通常发红为好,作为一个I / O优化传统硬盘。在MySQL 5.6,这种行为可以通过配置变量控制innodb_flush_neighbors你可能会说;设置了SSD驱动器,它不具有相同的开销的任意位置书写较小的批次数据。

参见脏页程度脸红网页

下一个关键的锁

结合了记录锁定在索引记录和间隙锁在间隙的索引记录之前。

参见间隙锁锁定记录锁定

非锁定读

查询不使用SELECT ... FOR UPDATE选择锁在共享模式条款.查询允许在全球唯一的一种表只读事务。一个相反的锁定读。看到第15.5.2.3,“一致的非锁定读”

SELECT ... FOR SHARE取代选择锁在共享模式在8.0.1 MySQL,但LOCK IN SHARE MODE仍然可以向后兼容

参见锁定读查询只读事务

不可重复读

当一个查询检索数据的情况,并在同一以后的查询交易检索应该相同的数据,但查询返回不同的结果(由另一个事务提交的同时改变)。

这种行动违背了数据库设计的原则。在一个事务中,数据应该是一致的,可预测的和稳定的关系。

在不同的隔离层不可重复读取,防止由可串行读可重复读水平,和允许的一致性读,和未提交读水平.

参见一致性读隔离级别未提交读可重复读序列化交易

非阻塞I/O

一个行业术语,是一样的异步I/O

参见异步I/O

归一化

数据库的设计策略,数据分为多个表,并重复值凝聚成单排由ID为代表,以避免存储、查询和更新冗余或冗长的价值。它通常用在OLTP应用

例如,一个地址可能会被赋予一个唯一的ID,所以人口普查数据库可以代表关系在这个地址的生活通过将该ID与一个家庭的每个成员,而不是存储多个副本的一个复杂的价值,如123大街,任何城镇,美国

另一个例子,虽然一个简单的地址簿应用程序可以存储每个电话号码在同一个表中一个人的名字和地址,电话公司的数据库可能会给每个电话号码的特殊身份,并存储在一个单独的表号和ID。这可以简化大规模更新时,归一化表示地区代码分开。

规范化是不推荐。这主要是查询的数据,并删除全部重装更新,经常保持在较少,较大的表有重复值的冗余副本。这一数据表示为规格化,并经常在数据仓库应用中发现。

参见规格化外键OLTP关系

NoSQL

一个广泛的术语,对一组数据访问技术,不使用SQL语言作为主要用于读写数据的机制。一些NoSQL技术作为关键值存储,只接受单一值的读和写;一些放松的限制方法论;还有一些人不需要预先计划图式。MySQL的用户可以将NoSQL风格的处理速度和简单与灵活方便的SQL操作,用memcachedAPI直接访问MySQL表的一些种类。这个memcached接口InnoDB表在MySQL 5.6和高可用;看15.19节,“InnoDB Memcached插件”详情。这个memcached接口NDB表格可在NDB集群7.2后来;看ndbmemcache Memcache API NDB集群

参见InnoDBmemcached图式SQL

非空约束

一种约束指定一个专栏不能包含任何无效的值。它helps to preserve参照完整性,作为数据库服务器能够识别错误的缺失值的数据。它也有助于在算术中的查询优化,使优化预测指标的条目,列数。

参见专栏约束无效的主键参照完整性

无效的

一个特殊的价值SQL,说明数据的缺乏。任何算术运算或相等测试涉及NULL值,从而产生一种无效的结果(这是类似于南的IEEE浮点概念,不是一个数字任何汇总计算等。)AVG()忽略行无效的值,确定分多少行时。唯一的测试工作NULL值使用SQL的成语是空的IS NOT NULL

NULL价值观在起作用指数操作,因为性能数据库必须最小化跟踪数据缺失值的开销。通常,NULL值不存储在一个索引,因为索引列,测试使用一个标准的比较操作符不符合连续查询无效的该列的值。出于同样的原因,唯一索引不防NULL价值观;这些值不在指数代表。声明一个不为空在一列约束提供了保证,没有行左出来的指标,允许更好的查询优化(行和是否使用指数估计的准确计数)。

因为主键必须能够唯一标识表中的所有行,单列主键不能包含任何NULL值,和多列主键不能包含任何行无效的在所有列的值

虽然Oracle数据库允许NULL是一个字符串值,InnoDB对待这样一个操作的结果NULL

参见指数主键SQL

o

选择文件

包含数据库配置信息文件。这个扩展名的文件中包含的备份mysqlbackup指挥的MySQL企业备份产品

参见MySQL企业备份mysqlbackup命令

关闭网页栏目

一列包含可变长度的数据(如BLOBVARCHAR),太长,放在B-树网页数据存储在溢出页。这个动态行的格式是这样的存储比旧的更有效粉盒行格式

参见B-树紧凑的行格式动态行格式溢出页

OLTP

的缩写在线事务处理。一个数据库系统,或一个数据库应用程序,运行一个工作量多交易,频繁的写入以及读取,通常影响少量的数据在一个时间。例如,一家航空公司的预订系统或应用程序的银行存款。数据可能是有组织的归一化为平衡形式DML(插入/更新/删除)效率查询效率。对比数据仓库

行级锁事务能力,InnoDB是MySQL表用于OLTP应用的理想存储引擎。

参见数据仓库DMLInnoDB查询行锁交易

在线

一种操作,不需要停机,阻断或限制操作数据库。典型应用DDL。操作,缩短手术时间的限制,如快速创建索引,已经演变成一个更广泛的在线DDL在MySQL 5.6运营。

在备份的情况下,一个热备份是一个在线操作和热备份部分联机操作

参见DDL快速创建索引热备份在线DDL热备份

在线DDL

一个功能,提高了性能,并发性,和可用性InnoDB表中DDL(primarilyALTER TABLE)操作。看到15.12节,“InnoDB和在线DDL”详情

细节根据操作类型的不同而有所不同。在某些情况下,表可以进行修改,同时在ALTER TABLE是在进步。手术可以进行无表的副本,或使用专门的优化型表复制。DML日志空间使用就地操作控制的innodb_online_alter_log_max_size配置选项

此功能的增强快速创建索引在MySQL 5.5特征。

参见DDL快速创建索引在线

乐观的

一种方法,引导底层实现决策的关系数据库系统。性能要求和并发在一个关系数据库意味着操作必须开始或迅速出动。一致性的要求和参照完整性意味着任何操作可能失败:一个事务会回滚,一DML操作可能违反约束,请求锁会导致死锁,网络错误可能导致超时。一个乐观的策略是假定大部分的请求或试图将取得成功,使相对较少的工作做准备的失败案例。当这个假设是真的,数据库的不必要的工作;当要求做额外的工作失败,必须进行清理和撤消更改。

InnoDB使用操作如乐观策略锁定承诺。例如,数据通过交易改变可以被写入数据文件在提交时,作出承诺很快,但需要更多的工作来撤消更改如果回滚事务。

一个乐观的策略相反的是悲观一、在系统进行优化处理,是不可靠的,经常失败的手术。这种方法在数据库系统中是罕见的,因为这么多的照顾进入选择可靠的硬件、网络和算法。

参见犯罪并发DML锁定悲观参照完整性

优化器

MySQL组件,确定最佳指标加入为了使用一个查询,基于与相关数据的分布特征

参见指数加入查询

选项

MySQL的配置参数,或者储存在选项文件或通过命令行

对于选项适用于InnoDB表,每个选项的名称和前缀开始innodb_

参见InnoDB选项选项文件

选项文件

保存配置文件选项对于MySQL实例。传统上,在Linux和UNIX这个文件的名称my.cnf,和Windows是命名my.ini

参见配置文件my.cnfmy.ini选项

溢出页

分别allocated盘网页持有可变长度列(如BLOBvarchar)太长放在B-树网页相关的列被称为关闭网页栏目

参见B-树关闭网页栏目网页

P

标准文件

一个包含分区定义文件。这个扩展名的文件中包含的备份mysqlbackup指挥的MySQL企业备份产品

随着本地分区支持的介绍InnoDB在MySQL 5.7.6表,PAR文件不再是创建分区InnoDB表分区MyISAM继续使用.par在MySQL 5.7的文件。在MySQL 8中,分区是由只提供支持InnoDB存储引擎。像这样的,.par文件不再使用MySQL 8。

参见MySQL企业备份mysqlbackup命令

网页

一个单位代表多少数据InnoDB在任何一个时间之间的磁盘传输(数据文件记忆(的)缓冲池)。一个页面可以包含一个或多个,取决于有多少数据是在每一行。如果行不完全适合于单页,InnoDB设置额外的指针式数据结构,该行有关的信息可以存储在一个页。

为了容纳更多的数据在每一页的一种方法是使用行压缩格式。表格使用斑点或大文本字段,紧凑的行格式让那些大柱子是从行的其余部分分开存储,减少I/O开销和查询不参考这些列的内存使用情况。

什么时候InnoDB读取或写入一批提高I/O吞吐量设置页面,它读取或写入一个程度一次.

所有的InnoDB磁盘数据结构的一个MySQL实例中共享相同的页面大小

参见缓冲池紧凑的行格式行压缩格式数据文件程度页面大小

页面干净

一个InnoDB背景线那个脏页缓冲池。MySQL 5.6之前,这项活动是由主线程。多线程网页吸尘器是由innodb_page_cleaners配置的选择,介绍了MySQL 5.7.4。

参见缓冲池脏页脸红主线程线

页面大小

发布截至及包括mysql 5.5,每个的大小InnoDB网页固定为16字节。这个值代表一个平衡:足够大,大多数行持有数据,但足够小,以减少不必要的数据传输到内存的性能开销。其他值是没有测试或支持。

在MySQL 5.6开始,一个页面大小InnoDB实例可以是4KB,8KB,16KB,受innodb_page_size配置选项。As of MysQL 5.7.6,InnoDB此外,还提供了32KB和64KB页的SIZES。For 32KB and 64kb page sizes,ROW_FORMAT=COMPRESSED不支持的最大记录大小为16KB。

页面大小设置创建MySQL实例时,它保持恒定之后。同样适用于所有页面大小InnoDB表空间,包括系统表空间文件表表空间,并一般的表空间

较小的页面大小可以帮助性能与存储设备,使用小的块尺寸,特别是SSD设备磁盘绑定工作负载,如OLTP应用作为单独的行更新,更少的数据复制到内存中,写入磁盘,重组,锁定,等等。

参见磁盘绑定文件表一般的表空间实例OLTP网页SSD系统表空间表空间

父表

在桌子上外键的关系,认为柱初始值指出,从子表。删除的后果,或更新父表中的行数取决于ON UPDATE在删除在外键定义条款。与子表中相应的值,可以自动删除或更新的行或列中,可以设定NULL操作,或是可以避免的。

参见子表外键

部分备份

备份包含一些的在MySQL数据库中,或者在一些MySQL实例的数据库。对比完全备份

参见备份完全备份

部分索引

一个指数这仅仅是一个列值的一部分,典型的前n个字符(的前缀一种长)VARCHAR价值

参见指数指数的前缀

性能模式

这个performance_schema图式,在MySQL 5.5和,提出了一套表,可以查询到关于mysql服务器的许多内部零件的性能特征的详细信息。看到第25章,MySQL性能模式

参见information_schema门闩互斥RW -锁

悲观

一种方法,有利于安全牺牲性能或并发。如果一个高比例的请求或尝试可能会失败,这是适当的,或如果一个请求失败的后果是严重的。InnoDB采用的是被称为悲观锁定战略,以减少机会死锁。在应用层面,你可能会用一个悲观的获取所需要的交易在一开始所有的锁策略避免死锁。

很多内置的数据库机制使用相反的乐观的方法论

参见死锁锁定乐观的

幻影

一行显示在查询的结果集,而不是设置一个较早的查询结果。例如,如果一个查询运行两次内交易,同时,另一个事务提交后插入新的一行或更新行,它匹配WHERE子句的查询

发生这种情况是被称为幻读。这是很难防范比不可重复读,因为锁定所有的行从第一个查询结果集并没有阻止,导致假体出现变化。

在不同的隔离层,是防止幻读的可串行读水平,和允许的可重复读一致性读,和未提交读水平.

参见一致性读隔离级别不可重复读未提交读可重复读序列化交易

身体的

一种类型的操作,包括硬件方面如磁盘块,内存页面文件,位,读硬盘,等等。通常,在物理方面是重要的专家级的性能调优和故障诊断。对比符合逻辑的

参见符合逻辑的物理备份

物理备份

备份那份实际的数据文件。例如,在mysqlbackup指挥的MySQL企业备份产品产生的物理备份,因为它的输出包含可直接使用的数据文件mysqld服务器,导致更快恢复运营对比逻辑备份

参见备份逻辑备份MySQL企业备份恢复

的缩写时间点恢复

参见时间点恢复

计划的稳定性

一个属性查询执行计划,在优化使得同样的选择时间为一个给定的查询,这样的表现是一致的和可预测的。

参见查询查询执行计划

时间点恢复

恢复的过程备份重新创建数据库的状态在特定的日期和时间。通常缩写。因为它是不可能的,指定的时间是完全对应的备份时间,这种技术通常需要结合一物理备份和一个逻辑备份。例如,与MySQL企业备份产品,您还原了在指定的时间点上备份,然后重放的变化从二进制日志的备份和墩之间的时间。

参见备份二进制日志逻辑备份MySQL企业备份物理备份

前缀

看到指数的前缀

准备备份

一套备份文件,由MySQL企业备份产品,在应用的所有阶段二进制日志增量备份完成。由此产生的文件准备恢复。对申请步骤之前,文件被称为原备份

参见二进制日志热备份增量备份MySQL企业备份原备份恢复

主键

一组列的含义,在此基础上设定的,可以唯一标识表中每一列的索引。因此,它必须是一个独特的指标,不包含任何NULL价值观

InnoDB要求每个表都有这样一个指标(也叫聚集索引聚簇索引),并组织基于主键的列值的表存储。

选择主键值时,考虑使用任意值(一合成的关键)而不是依靠来自其他来源的值(一个自然的关键

参见聚集索引指数自然的关键合成的关键

过程

一个正在执行的程序的一个实例。多个运行的进程之间的操作系统的开关,允许一定程度的并发。在大多数操作系统中,进程可以包含多个螺纹执行共享资源。线程间的上下文切换是比进程间切换速度更快。

参见并发线

伪记录

索引中的人工记录,用于锁定关键值或范围,目前不存在。

参见下确界纪录锁定上记录

pthreads

POSIX线程标准,它定义了一个API的线程和锁的操作在UNIX和Linux系统。在UNIX和Linux系统,InnoDB使用此实现互斥器

参见互斥

净化

一种垃圾收集的一个或多个单独的后台线程执行(控制innodb_purge_threads)上运行的一个周期的时间表。吹扫的解析过程撤消日志的页面历史记录列表为消除聚集和次级索引记录被标记为删除的目的(由以前的DELETE语句),不再需要MVCC回降。清除不撤销从历史列表日志页后处理。

参见历史记录列表MVCC回降撤消日志

清除缓存

二级索引页存储技术带来的变化,DELETE操作,在变化的缓冲而不是写的随之变化,使物理写入可减少随机I/O(因为删除操作是一个两步的过程,这个操作的缓冲区写入通常清除索引记录,以前被标记为删除。)这是一种变化的缓冲;其他插入缓冲删除缓冲

参见变化的缓冲变化的缓冲删除缓冲插入缓冲插入缓冲

清除滞后

的另一个名字InnoDB历史记录列表。相关的innodb_max_purge_lag配置选项

参见历史记录列表净化

净化线程

线InnoDB过程是专门执行周期净化运营在MySQL 5.6中高,多清除线程启用了innodb_purge_threads配置选项

参见净化线

Q

查询

进入SQL一种操作,读取信息从一个或多个。根据数据和查询参数的组织,查找可能通过咨询优化指数。如果涉及多个表的查询,称为加入

由于历史的原因,有时讨论内部处理语句的使用查询在更广泛的意义上,包括其他类型的MySQL语句等DDLDML声明.

参见DDLDML指数加入SQL

查询执行计划

这套决定由优化器如何执行查询最有效的,包括指数或索引的使用,和顺序来加入计划的稳定性涉及相同的选择是一贯的对于一个给定的查询。

参见指数加入计划的稳定性查询

查询日志

看到通用查询日志

静默

为了减少数据库的活动量,经常在操作如制备ALTER TABLE,一个备份,或关机。可能或不可能涉及多冲洗尽可能使InnoDB不继续做背景我/ O.

在MySQL 5.6高,语法FLUSH TABLES ... FOR EXPORT写一些数据到磁盘InnoDB表,使它更简单的备份那些表复制数据文件。

参见备份脸红InnoDB关机

R

R树

一棵树的数据结构,用于多维数据,如地理坐标的空间索引、矩形或多边形。

参见B-树

RAID

的缩写廉价冗余磁盘阵列。扩展I/O操作在多个驱动器允许更大的并发在硬件层面,提高了低级别的写操作,否则将依序执行效率。

参见并发

随机跳

一种快速估算列中不同值的个数(柱的技术基数InnoDB样本页面随机指标和使用该数据来估计不同值个数。

参见基数

原备份

备份文件的初始设置MySQL企业备份产品,体现在变化之前二进制日志和任何增量备份应用。在这一阶段,文件还没有准备好恢复。这些变化后的应用,文件被称为准备备份

参见二进制日志热备份ibbackup_logfile增量备份MySQL企业备份准备备份恢复

提交读

一个隔离级别使用锁定策略,放松一些保护之间交易,在表现兴趣。交易不能从其他交易看到未提交的数据,但是他们可以看到,致力于通过另一个事务在当前事务开始数据。因此,一个事务永远不会看到任何不好的数据,但它看到的数据可以在一定程度上取决于其他交易的时机。

当这种隔离级别的事务执行UPDATE ... WHERE删除哪里操作,其他交易可能要等待。交易可以执行SELECT ... FOR UPDATE,和锁在共享模式没有其他交易等操作

SELECT ... FOR SHARE取代选择锁在共享模式在8.0.1 MySQL,但LOCK IN SHARE MODE仍然可以向后兼容

参见隔离级别锁定可重复读序列化交易

阅读现象

等现象脏读不可重复读,和幻影读它可以发生在一个事务读取另一个事务修改的数据。

参见脏读不可重复读幻影

未提交读

这个隔离级别提供最少的保护之间的交易。查询使用锁定策略,允许他们继续的情况下,他们通常会等待另一个事务。然而,这种额外的性能来自于成本的不可靠的结果,包括已被其他事务改变,还没有被提交的数据(称为脏读)。使用此隔离级别非常谨慎,并意识到结果可能不一致或重复的,取决于什么其他的交易都是在同一时间做。通常,这种隔离级别的事务只能查询,不能插入、更新或删除操作。

参见脏读隔离级别锁定交易

阅读视图

使用的内部快照MVCC机制InnoDB。某些交易,这取决于他们的隔离级别看到数据的价值,因为他们在交易时间(或在某些情况下,声明)开始。隔离级别使用阅读视图可重复读提交读,和未提交读

参见隔离级别MVCC提交读未提交读可重复读交易

读前

一种类型的I/O请求,预取一组网页(An entire程度)进缓冲池异步,预计很快将会需要这些页面。前面的线性阅读技术预取的所有页面,一定程度上基于访问模式在前面的程度上页。未来的随机读取技术,所有的网页预取上一次一定数量的页面从相同的程度,在缓冲池。随机读前不是mysql 5.5部分,而是重新介绍MySQL 5.6的控制下innodb_random_read_ahead配置选项

参见缓冲池程度网页

只读事务

一种交易可以优化InnoDB通过消除一些与创造有关记账表阅读视图每一笔交易。只能执行非锁定读查询。它可以开始明确的语法START TRANSACTION READ ONLY在一定的条件下,或自动。看到第8.5.3,“优化InnoDB只读事务”详情

参见非锁定读阅读视图交易

记录锁定

锁具在索引记录。例如,SELECT c1 FROM t WHERE c1 = 10 FOR UPDATE;防止其他事务插入、更新或删除行的价值在哪里t.c110。对比间隙锁下一个关键的锁

参见间隙锁锁具下一个关键的锁

重做

数据,在单位的记录,记录在重做日志文件什么时候DML语句更改InnoDB表它是用在崩溃恢复正确的写的不完整的数据交易。不断增加的LSN值代表的累计金额重做,通过重做日志数据。

参见崩溃恢复DMLLSN重做日志文件交易

重做日志文件

一个基于磁盘的数据结构中使用崩溃恢复,纠正写的不完整的数据交易。正常运行时,它将要求改变InnoDB表中的数据,导致从SQL语句或低级API调用接口,通过NoSQL。修改未完成更新数据文件在一个意想不到的关机自动播放

重做日志被表示为一组文件,通常称为ib_logfile0ib_logfile1。在重做日志中记录的影响来编码数据;这些数据统称为重做。通过重做日志是由不断增加的代表数据的通道LSN价值。原来的4GB的限制最大尺寸为重做日志是提高512GB mysql 5.6.3。

重做日志文件的配置选项是通过影响磁盘布局innodb_log_file_sizeinnodb_log_group_home_dir(很少),和innodb_log_files_in_group。重做日志的操作性能也受影响日志缓冲区的,由innodb_log_buffer_size配置选项

参见崩溃恢复数据文件ib_logfile日志缓冲区LSN重做关机交易

多余的行格式

最古老的InnoDB行格式。MySQL 5.0.3之前,它可以在只行格式InnoDB。从MySQL 5.0.3 MySQL 5.7.8,默认行格式粉盒。在MySQL 5.7.9,默认行格式定义的innodb_default_row_format配置选项,其中有一个默认设置动态。你还可以指定冗余为了兼容旧的行格式InnoDB

有关更多信息,参见第15.10.4,紧凑和多余的行格式”

参见紧凑的行格式动态行格式行格式

参照完整性

维护数据总是一致的格式技术,部分的哲学特别是,在不同的表中的数据保持一致通过外资的关键约束,可防止发生变化或自动传播这些更改所有相关表。相关的机制包括唯一的约束,以防止重复的值被插入错误,和非空约束,防止空白值被插入错误。

参见外键约束非空约束唯一约束

关系

现代数据库系统的一个重要方面。数据库服务器编码和执行关系,如一对一、一对多、多对一、唯一性。例如,一个人可能有零,一个或多个电话号码,一个地址数据库;一个电话号码会有几个家庭成员相关的。在金融数据库,一个人可能需要有一个纳税人的身份,和任何纳税人的身份只能与一个人有关。

数据库服务器可以使用这些关系来防止坏数据的插入,并找到有效的方法来查找信息。例如,如果一个价值被认为是独特的,服务器可以停止搜索尽快找到的第一个匹配项,它可以拒绝尝试插入相同的值的第二个拷贝。

在数据库级别,这些关系是通过SQL等功能的表达专栏在一个表中,独特的NOT NULL约束外键,和各种不同的连接操作。复杂的关系通常涉及数据多个表之间的分裂。通常,数据归一化这样重复的值,在一对多关系只存储一次。

在数学方面,在数据库的关系是从集合论。例如,在OR运营商的一个WHERE条款代表交集和并集的概念。

参见专栏约束外键归一化

相关性

全文检索一些特征,意味着搜索字符串和数据之间的相似性在FullText Index。例如,当你搜索一个词,这个词通常是更相关的一个排在那里发生的几次在文本比排在它只出现一次。

参见全文检索全文索引

可重复读

默认的隔离级别InnoDB。它可以防止任何行查询被改变的交易,从而阻断不可重复读但不幻影读。它采用适度严格锁定策略让所有查询在一个事务中看到相同的数据快照,即数据按照当时的交易开始。

当这种隔离级别的事务执行UPDATE ... WHERE删除哪里SELECT ... FOR UPDATE,和锁在共享模式操作,其他交易可能要等待。

SELECT ... FOR SHARE取代选择锁在共享模式在8.0.1 MySQL,但LOCK IN SHARE MODE仍然可以向后兼容

参见一致性读隔离级别锁定幻影交易

剧目

剧目是一个用于描述字符集。一个字符集的字符集的曲目收集。看到第10.2.1,“字符集剧目”

复制

从发送变化的实践主数据库,一个或多个从数据库,使数据库具有相同的数据。该技术具有广泛的用途,如用于灾难恢复的可扩展性,更好的负载平衡,和测试的软件升级和配置的变化。的变化可以派之间的数据库的方法基于行的复制基于语句的复制

参见主服务器基于行的复制从服务器基于语句的复制

恢复

把一套备份文件的过程MySQL企业备份使用MySQL的地方产品。可以执行此操作来修复损坏的数据库,返回一些更早的时间点,或(在复制建立一个新的语境)从数据库。在MySQL企业备份产品,这种操作是通过copy-back期权的mysqlbackup命令

参见热备份MySQL企业备份mysqlbackup命令准备备份复制从服务器

回降

SQL说的是交易失败的交易,所做的任何更改。这是相反的犯罪,这使得永在交易中所做的任何更改。

默认情况下,MySQL的使用自动提交设置,自动执行COMMIT以下每个SQL语句。你必须在你可以使用回滚技术更改此设置。

参见自动提交犯罪SQL交易

回滚段

存储区包含撤消日志。回滚段一直居住在系统表空间。在MySQL 5.6,回滚段可以驻留在基于还原表空间。在MySQL 5.7,回滚段也分配到临时表空间

参见系统表空间临时表空间撤消日志撤销表空间

由一组定义的逻辑数据结构专栏。一套行使了一个。在InnoDB数据文件,每网页可以包含一个或更多的行。

虽然InnoDB使用的术语行格式对于MySQL语法一致性,行格式为每个表的属性和适用于该表中的所有行。

参见专栏数据文件网页行格式

行格式

磁盘存储格式一个InnoDB。作为InnoDB获得新的能力,如压缩行了,新格式的支持导致存储效率和性能改进。

一行的格式InnoDB表中指定的row_format选择或由innodb_default_row_format配置选项(介绍MySQL 5.7.9)。行格式包括冗余COMPACT压缩的,和DYNAMIC。查看一行格式InnoDB表,问题SHOW TABLE STATUS表或查询InnoDB表中的元数据INFORMATION_SCHEMA

参见紧凑的行格式行压缩格式压缩动态行格式多余的行格式

行锁

锁具防止排在被访问的另一个不兼容的方式交易。在同一表中的其他行可以自由编写的其他交易。这种类型的锁定通过DML操作InnoDB

对比表锁MyISAM,或在DDL操作InnoDB表不能做在线DDL;这些锁块并发访问表。

参见DDLDMLInnoDB锁具锁定在线DDL表锁交易

基于行的复制

一种形式复制在事件传播的主服务器指定如何变化对单个行从服务器。它的使用是安全的所有设置innodb_autoinc_lock_mode选项

参见自动增量锁定innodb_autoinc_lock_mode主服务器复制从服务器基于语句的复制

行级锁

这个锁定机构用于InnoDB表,依靠行锁而不是表锁。多交易可以修改同一个表的同时。只有两个事务试图修改同一行做了一个交易等待完成其他(并释放行锁)。

参见InnoDB锁定行锁表锁交易

RW -锁

低级别的对象InnoDB用来表示和执行共享访问锁具内部存储器中的数据结构,遵循一定的规则。对比互斥器,这InnoDB用来表示和执行内存中的数据结构内部的独家访问。Mutexes和读写锁统称为锁存器

rw-lock类型包括s-locks(共享锁),x-locks(互斥锁),和SX锁(共享互斥锁)

  • 一个s-lock提供了一个共同的资源阅读。

  • 一个x-lock提供而不允许读取由其他线程不使用公共资源写。

  • 一个sx-lock同时允许不提供读取由其他线程访问公共资源写。SX锁介绍了在MySQL 5.7优化并发和提高读写负载的可扩展性。

以下总结了RW锁兼容性矩阵。

SSXX
S兼容的兼容的冲突
SX兼容的冲突冲突
X冲突冲突冲突

参见门闩锁具互斥性能模式

S

保存点

有助于实现嵌套事务交易。它们可以用来操作的表,是一个大的交易的一部分提供的范围。例如,在一个预订系统预订旅行调度可能涉及几种不同的航班;如果所需的飞行是不可用的,你可以回滚参与预订,一条腿的变化,没有回滚之前成功预订的航班。

参见回降交易

可扩展性

添加更多的工作和问题的系统更多的并发请求的能力,由于没有超过系统容量的限制,在性能突然下降。软件体系结构、硬件配置、应用程序编码,和类型的工作量在可扩展性方面都发挥作用。当系统达到它的最大容量,提高可扩展性的流行技术规模(增加现有的硬件或软件的能力)和规模(添加新的服务器和多个MySQL)。经常搭配可用性作为一个大规模部署的关键方面。

参见可用性规模规模

规模

一个技术提高可扩展性通过添加新的服务器和多个MySQL。例如,设置复制,NDB集群,连接池,或其他传播的特性,在一个工作组服务器。对比规模

参见可扩展性规模

规模

一个技术提高可扩展性通过增加现有的硬件或软件的能力。例如,增加一台服务器上存储和内存相关的参数调整等innodb_buffer_pool_sizeinnodb_buffer_pool_instances。对比规模

参见可扩展性规模

图式

从概念上讲,一个模式是一组相互关联的数据库对象,如表、表列数据类型的列,索引,外键,等等。这些对象通过SQL语法连接,因为柱子构成表的外键引用的表和列,等等。理想的情况是,他们也有逻辑联系,一起作为一个统一的应用和灵活的框架。例如,在information_schemaperformance_schema数据库的使用图式在他们的名字强调他们包含的表和列之间的密切关系。

在MySQL中,身体。图式就是一个数据库。你可以用关键字SCHEMA而不是数据库MySQL的SQL语法,例如使用CREATE SCHEMA而不是创建数据库

一些其他的数据库产品加以区分。例如,在Oracle数据库产品,一图式仅代表一个数据库的一部分:表和其他对象由一个单一的用户拥有。

参见数据库information_schema性能模式

SDI

的缩写序列化的字典信息

参见序列化的字典信息(SDI)

搜索指数

在MySQL,全文检索查询使用一种特殊的指标,全文索引。5.6.4和MySQL,InnoDBMyISAM表都支持FULLTEXT指标;以前,这些指标只适用于MyISAM

参见全文检索全文索引

次要指标

一种InnoDB指数表示表的列的子集。一个InnoDB表可以有零个或多个二级指标,。(与聚集索引,这是需要每个InnoDB表,并存储所有数据表的列。)

次要指标可以用来满足查询,只需要从索引列的值。对于更复杂的查询,它可以被用来确定表中的相关行,然后通过查找使用聚集索引检索。

创建和删除次要指标一直参与复制所有数据显著的开销InnoDB表这个快速创建索引特征使CREATE INDEX删除索引报表的更快InnoDB次要指标

参见聚集索引快速创建索引指数

在一个分工InnoDB表空间。如果一个表空间类似于一个目录,在这个目录中的段类似文件。一段成长。可以创建新段。

例如,在一个文件表表,表中的数据是在一段和各相关指标是在自己的段。这个系统片包含许多不同的部分,因为它可以容纳很多表及其相关指标。MySQL 8之前,该系统还包括一个或多个表空间回滚段用于UNDO日志

段长和数据插入的和删除的收缩。当一段需要更多的空间,这是延长一程度(1M)一次。同样,一段释放程度的空间时,在程度上都不再需要的数据。

参见程度文件表回滚段系统表空间表空间撤消日志

选择性

数据分布的一个性质,在一列中不同值的个数(其基数)除以表中的记录数。高选择性是指列值比较独特,能有效地通过索引检索。如果你(或查询优化器)可以预测一个测试在一个WHERE条款只匹配少量(或比例)表中的行,整体查询往往要首先评估测试是有效的,使用索引。

参见基数查询

半一致性读

一种用于读操作UPDATE报表,这是一个组合的提交读一致性读。当一个UPDATE语句检查一行已被锁定,InnoDB返回最新提交的版本MySQL,MySQL可以决定是否行匹配WHERE条件的更新。如果行匹配(必须更新),MySQL读取行再次,这一次InnoDB无论是锁或等待锁定它。这种操作只会发生在当事务的提交读隔离级别,或当innodb_locks_unsafe_for_binlog选项启用innodb_locks_unsafe_for_binlog在MySQL 8中移除。

参见一致性读隔离级别提交读

序列化

这个隔离级别使用最保守的锁定策略,防止任何其他交易插入或改变被这个事务读取数据,直到完成。这样,同样的查询可以运行在一个事务,并有一定的检索结果每一次相同的设置。任何试图改变这一承诺的交易从交易开始的数据,导致当前事务等。

这是由SQL标准中指定的默认隔离级别。在实践中,这种严格程度是很少使用,所以默认隔离级别InnoDB是下一个最严格的,可重复读

参见一致性读隔离级别锁定可重复读交易

序列化的字典信息(SDI)

连载的字典对象元数据。SDI是存储在JSON格式

在MySQL 8.0.3,SDI是目前在所有InnoDB表空间文件除临时表空间和undo表空间文件。SDI在表空间文件的存在提供了数据冗余。例如,字典对象的元数据可以由表空间文件使用ibd2sdi如果数据字典工具变得不可用。

对于一个MyISAM表,SDI存储在SDI在架构目录元数据文件。一个SDI元数据文件要求执行IMPORT TABLE运营

参见文件表一般的表空间系统表空间表空间

服务器

一种类型的程序,连续运行,等待接收并作用于另一个程序的请求(客户)。因为经常整个电脑是专门为运行一个或多个服务器程序(如数据库服务器、Web服务器、应用服务器,或这些的组合),术语服务器也可以指运行的服务器软件的计算机。

参见客户mysqld

共享锁

一种锁具允许其他交易读锁定对象,并获得其他共享锁,但不写它。相反独占锁

参见独占锁锁具交易

共享表空间

另一种方式的指系统片一般的表空间。一般的表空间中引入了MySQL 5.7。多个表可以驻留在一个共享的表空间。只有一个表可以驻留在一个文件表表空间

参见一般的表空间系统表空间

锋利的检查站

过程冲洗到磁盘的所有肮脏的缓冲池页面的重做条目中包含的某些部分重做日志文件。之前发生InnoDB重复使用一个日志文件的一部分;日志文件中使用的循环方式。通常发生在写密集型工作负载

参见脏页脸红重做日志文件工作量

关机

停止MySQL服务器的过程。默认情况下,这个过程中清理操作InnoDB表,所以InnoDB可以是缓慢的关闭,但很快在今年晚些时候开始。如果你跳过清理行动,它是快速的关闭,但清理工作必须在接下来进行的重新启动。

在关机模式InnoDB是由innodb_fast_shutdown选项

参见快速关机InnoDB缓慢关闭创业公司

从服务器

shortened竞相to奴隶。一个数据库服务器机器在复制的情况下,从另一个服务器接收的变化(硕士)和适用相同的变化。因此,保持相同的内容作为主,虽然它可能有些滞后。

在MySQL,从服务器通常用于灾难恢复,以一个主服务器失败的地方。他们还常用的测试软件升级和新的设置,以确保数据库配置的变化不会导致性能或可靠性问题。

从服务器通常有较高的负载,因为他们处理所有DML(写)操作向大师,以及用户查询。确保从服务器可以从掌握足够快的变化,他们经常有快速I/O设备和足够的CPU和内存运行多个数据库实例在同一服务器。例如,主服务器可以同时从服务器使用的硬盘驱动器存储SSDS.

参见DML主服务器复制服务器SSD

慢查询日志

一种日志用于SQL语句的MySQL服务器处理性能调优。日志信息保存在一个文件。您必须启用此功能使用。你控制这类缓慢的SQL语句记录。有关更多信息,参见第5.4.5、“慢查询日志”

参见通用查询日志日志

缓慢关闭

一种关机这是额外的InnoDB冲洗操作完成之前。也被称为干净关闭。通过配置参数指定innodb_fast_shutdown=0或命令SET GLOBAL innodb_fast_shutdown=0;。虽然关闭本身可能需要更长的时间,这段时间将被保存在随后的启动。

参见干净关闭快速关机关机

快照

在特定时间的数据表示,这是相同的甚至改变坚信的其他交易。可通过某些隔离级别允许一致性读

参见犯罪一致性读隔离级别交易

排序缓冲区

用于排序的数据创建一个缓冲区中InnoDB指数排序缓冲区大小的配置使用innodb_sort_buffer_size配置选项

空间ID

一个标识符,用来唯一标识一个InnoDB表空间一个MySQL实例内。对于空间ID系统片始终为零;同一ID适用于在SYSTEM表空间或在一般表空间的所有表。每个文件表表空间和一般的表空间有自己的空间ID

MySQL 5.6之前,这种硬编码的值给出了移动困难InnoDB在MySQL实例表空间文件。在MySQL 5.6开始,你可以复制表空间文件实例之间采用可传输表空间涉及的报表功能FLUSH TABLES ... FOR EXPORT修改表…抛弃表,和ALTER TABLE ... IMPORT TABLESPACE。需要调整的空间ID信息传达的CFG文件你复制随着表空间。看到第15.7.6,“每表表空间文件复制到另一个实例”详情

参见CFG文件文件表一般的表空间IBD文件系统表空间表空间可传输表空间

稀疏档案

一种类型的文件,使用文件系统空间更有效地编写元数据表示空块磁盘而不是写实际的空的空间。这个InnoDB透明页面压缩特征依赖于稀疏文件支持。有关更多信息,参见第15.9.2,“InnoDB页面压缩”

参见打洞技术透明页面压缩

旋转

一种等待操作,连续测试资源是否可用。这种技术是用于通常只有短暂的资源,它是更有效的在等待一个繁忙的循环比把线程睡眠和执行上下文切换。如果资源不在短时间内变得可用,自旋循环停止,另一个等待技术应用。

参见门闩锁具互斥等待

SQL

结构化查询语言,是用于执行数据库操作标准。通常分为:DDLDML,和查询。MySQL包括一些附加说明等复制。看到9章,语言结构对SQL语法的积木,11章,数据类型对于使用MySQL表列的数据类型,13章,SQL语句的语法关于SQL语句及其相关范畴的细节,和12章,函数和操作符标准和MySQL特定的功能使用查询。

参见DDLDML查询复制

SSD

的缩写固态硬盘。一类具有不同特性的存储设备比传统的硬盘驱动器(硬盘):存储量小,快速随机读取,没有移动部件,并与多因素影响的写入性能。其性能特点可以影响一个吞吐量磁盘绑定工作量.

参见磁盘绑定硬盘

创业公司

启动MySQL服务器的过程。一个上市的程序通常做的4.3节,“MySQL服务器,服务器启动程序”。相反关机

参见关机

基于语句的复制

一种形式复制在SQL语句从发送的主服务器和上从服务器。它需要一些护理的设置innodb_autoinc_lock_mode选项,以避免潜在的时序问题自动增量锁定

参见自动增量锁定innodb_autoinc_lock_mode主服务器复制基于行的复制从服务器

统计

估计值与每个InnoDB指数,用来构建一个有效的查询执行计划。的主要价值是基数(不同值的数量)和表行或索引条目总数。该表的统计表示的数据主键指数一个统计二级指标代表被索引的行

估计值而非精确计算出来,因为在任何时刻,不同交易可以插入和来自同一个表中删除行。保持值被多次计算,您可以启用持续的统计,其中的值存储在InnoDB系统表和刷新,只有当你的问题ANALYZE TABLE声明

您可以控制如何无效的值计算时通过统计处理innodb_stats_method配置选项

其他类型的统计数据是可用的数据库对象和数据库活动通过information_schemaperformance_schema

参见基数指数information_schema无效的性能模式主键查询执行计划次要指标交易

堵塞

搜索一个词基于一个共同的根词的不同变化的能力,如单数和复数,或者过去,现在,和将来的动词时态。目前这个功能支持MyISAM全文检索特征但不全文索引InnoDB

参见全文检索全文索引

停用词

在一个全文索引一句话,是常见的,或无足轻重,它省略了搜索指数在搜索查询忽略。不同的配置设置控制停用词处理InnoDBMyISAM表看到第12.9.4,“全文构建”详情

参见全文索引搜索指数

存储引擎

一个组件的mysql数据库进行存储,低层次的工作,更新和查询数据。在MySQL 5.5和更高,InnoDB是新表的默认存储引擎,取代MyISAM。不同的存储引擎的设计,如内存和磁盘的使用因素之间的权衡,读取速度与写入速度,和速度与鲁棒性。每个存储引擎管理特定的表,所以我们称InnoDB桌子,MyISAM表,等等

这个MySQL企业备份产品是用于备份优化InnoDB表它还可以备份表处理MyISAM和其他存储引擎

参见InnoDBMySQL企业备份肉用

存储生成的列

一列从表达式的值包含在计算列定义。列的值进行存储行时,插入或更新。存储生成的列需要的存储空间和可以被索引。

对比虚拟生成的列

参见基柱生成的列虚拟生成的列

严格模式

这个设置控制的通用名称innodb_strict_mode选项打开这个设置导致一定的条件下,通常被视为警告,被认为是错误的。例如,选择相关的无效组合文件格式行格式,通常产生一个警告,继续默认值,现在的原因CREATE TABLE操作失败innodb_strict_mode通过在MySQL 5.7中默认启用。

MySQL也有一些所谓的严格模式。看到第5.1.10,”服务器的SQL模式”

参见文件格式innodb_strict_mode行格式

子列表

在链表结构表示缓冲池,网页,较老的和较新的是由不同部分的代表列表。一组参数控制这些部分的大小和分割点的新的和旧的页面之间。

参见缓冲池驱逐列表LRU

上记录

伪记录在一个指数,代表Gap以上指标的最大值。如果一个事务已经声明,如SELECT ... FROM ... WHERE col > 10 FOR UPDATE;,列中的最大值,它是最大的记录,可以防止其他事务插入更大的值,如50、100锁,等等。

参见Gap下确界纪录伪记录

代理键

同义名称合成的关键

参见合成的关键

合成的关键

一个索引列,通常主键,其中的值是任意指定。经常使用自动增量专栏通过对价值完全是任意的,你可以避免过分严格的规则和错误的应用设想。例如,占员工数数字序列可能如果员工被批准录用但从未加入有差距。或员工100号可能以后的雇佣日期比员工500号,如果他们离开公司后回到。数值也产生较短的可预测的长度值。例如,存储数字代码的意义道路林荫大道高速公路,等等是不是重复那些在更大的有效空间。

也被称为代理键。对比自然的关键

参见自动增量自然的关键主键代理键

系统表空间

一个或多个数据文件(ibdata文件包含元数据)InnoDB相关的对象,并为存储区变化的缓冲,和doublewrite缓冲。它还可以包含表和索引数据InnoDB表,如果表在SYSTEM表空间而不是创造文件表一般的表空间。在SYSTEM表空间的数据和元数据应用到所有数据库在MySQL实例

MySQL 5.6.7之前,默认是将所有InnoDB表和索引的表空间内的系统,往往造成该文件变得非常大。因为SYSTEM表空间存储问题不缩小,如果大量的临时数据进行加载,然后删除出现。在MySQL 8中,默认是文件表模式,其中每个表和相关的索引存储在一个单独的IBD文件。这使得它更容易使用的默认InnoDB依靠特征动态COMPRESSED行格式,如表压缩,高效的存储关闭网页栏目,和大的前缀索引

在SYSTEM表空间或单独保存所有数据表.ibd文件已在通用存储管理的启示。这个MySQL企业备份产品可以支持一小部分的大文件,或多个较小的文件。上千个表系统,文件系统的操作过程,成千上万的.ibd文件可以导致瓶颈

InnoDB介绍了在MySQL 5.7.6一般表空间,这也代表鸡传染性法氏囊病文件一般表空间是共享表空间的创建使用CREATE TABLESPACE语法。他们可以创建MySQL数据目录之外,能够容纳多个表,和所有的行格式的支持表。

参见变化的缓冲压缩数据字典数据库doublewrite缓冲动态行格式文件表一般的表空间IBD文件ibdata文件innodb_file_per_table实例MySQL企业备份关闭网页栏目表空间撤消日志

T

每个MySQL表与一个特定的存储引擎InnoDB有一个特别的桌子身体的符合逻辑的的特点,影响性能,可扩展性备份、管理和应用开发

在文件存储方面,一InnoDB表属于下列一个表空间的类型:

  • 共享InnoDB系统表空间,这是由一个或多个ibdata文件

  • 文件表表空间,comprised of an individualIBD文件

  • 一个共享烟草公司个人.ibd文件介绍了在MySQL 5.7.6一般表空间。

.ibd数据文件包含表指数数据

InnoDB在每个表的表空间文件可以使用创建的表动态压缩的格式。这些明天的格式InnoDB等功能压缩,高效的存储关闭网页栏目,和大的前缀索引。一般表空间支持所有的行格式。

SYSTEM表空间支持表格的使用冗余粉盒,和动态行格式。SYSTEM表空间的支持动态在MySQL 5.7.6添加行格式。

这个一个InnoDB表组织成一个索引结构称为聚集索引基于排序的条目,以主键表中的列。数据访问是查询的主键列筛选和排序优化,每个指数包含了相关的主键列的每个条目。任何的主键列的值是一个昂贵的操作修改。因此,一个重要的方面InnoDB表格的设计是选择与所使用的最重要的查询列的主键,主键和保持简短,很少改变的值。

参见备份聚集索引紧凑的行格式行压缩格式压缩动态行格式快速创建索引文件表IBD文件指数关闭网页栏目主键多余的行格式系统表空间表空间

表锁

一把锁,防止任何其他交易访问表InnoDB使这样的锁不需要相当大的努力,利用技术如在线DDL行锁一致性读处理DML报表和查询。你可以创建一个锁通过使用SQL语句LOCK TABLE声明;一个步骤在迁移与其他数据库系统MySQL存储引擎是消除此类陈述可行。

参见一致性读DML锁具锁定在线DDL查询行锁交易

表扫描

看到全表扫描

统计表

看到统计

肉用

过时的同义词存储引擎。我们指的是InnoDB桌子,MyISAM表,等等

参见InnoDB存储引擎

表空间

一个数据文件,可以为一个或多个存储数据InnoDB和相关的指标

这个系统表空间包含InnoDB数据词典,和MySQL 5.6之前持有的所有其他InnoDB表的默认

这个innodb_file_per_table选项,在MySQL 5.6和更高的默认启用,允许表可以在自己创建的表空间。每个表的表空间的支持功能,如高效的存储文件关闭网页栏目压缩和传输表空间,表。看到第15.7.4“InnoDB文件,每个表的表空间”详情

InnoDB介绍了在MySQL 5.7.6一般表空间。一般表空间是共享表空间的创建使用CREATE TABLESPACE语法。他们可以创建MySQL数据目录之外,能够容纳多个表,和所有的行格式的支持表。

MySQL NDB簇也表为表空间组。看到NDB集群磁盘数据对象详情

参见行压缩格式数据字典数据文件文件表一般的表空间指数innodb_file_per_table系统表空间

临时表

其数据不需要真正的永久。例如,临时表可以作为复杂的计算或转换的中间结果存储区;这中间的数据不需要崩溃后恢复。数据库产品可以采取多种方式提高对临时表的操作的性能,通过对磁盘和其他措施来保护数据在写入数据不认真的重新启动。

有时候,数据本身是自动删除在一个固定的时间,如在交易结束或结束后。一些数据库产品,表本身是自动删除过。

参见

临时表空间

非压缩的表空间InnoDB临时表和相关的对象,介绍了在MySQL 5.7。这个innodb_temp_data_file_path配置文件选项定义的相对路径、名称、大小、和属性的临时表空间数据文件。如果innodb_temp_data_file_path没有指定,默认行为是创建一个单一的自动延伸12mb数据文件命名ibtmp1在数据目录。临时表空间创建的每个服务器上启动和接收动态生成空间ID。临时表空间不能位于原装置。启动,如果临时表空间不能创造拒绝。

临时表空间是在正常停机或中断初始化删除。临时表空间没有删除时发生事故。在这种情况下,数据库管理员可以删除临时表空间手动或相同的配置重新启动服务器,删除和重新创建临时表空间。

参见ibtmp文件空间ID系统表空间临时表

文本的收集

中包含的列集FullText Index

参见全文索引

线

一个处理单元通常是更轻比过程,允许更大的并发

参见并发主线程过程pthreads

撕页

一个错误条件,由于I/O设备的配置和硬件故障的发生。如果数据是写在块小于InnoDB页面大小(默认情况下,16KB),硬件故障而写作可能导致只有一个页面被存储到磁盘的一部分。这个InnoDBdoublewrite缓冲防范这种可能性

参见doublewrite缓冲

TPS

的缩写交易每秒计量单位,有时用于基准。它的价值取决于工作量由一个特定的基准测试为代表,结合因素你控制如硬件能力和数据库的配置。

参见交易工作量

交易

事务是原子工作单元可以坚信的回滚。当一个事务使多个数据库的改变,所有的改变成功在事务提交或撤消,所有的改变都是在事务回滚时。

数据库事务,所实现的InnoDB,有属性,统称的缩写原子性,一致性,隔离,和耐久性。

参见犯罪隔离级别锁具回降

事务ID

与每个内部场。这场是物理变化INSERTUPDATE,和DELETE操作记录交易已锁定的行

参见隐行锁交易

透明页面压缩

一个功能添加在MySQL 5.7.8允许页面级压缩InnoDB表驻留在文件表表空间。网页压缩是启用的指定COMPRESSION属性CREATE TABLEALTER TABLE。有关更多信息,参见第15.9.2,“InnoDB页面压缩”

参见文件表打洞技术稀疏档案

可传输表空间

它可以允许表空间是从一个实例移动到另一个。传统上,这已不可能InnoDB因为所有的表数据表空间的一部分系统片。在MySQL 5.6和更高的FLUSH TABLES ... FOR EXPORT语法的准备InnoDB复制到另一台服务器上运行;ALTER TABLE ... DISCARD TABLESPACEALTER TABLE ... IMPORT TABLESPACE在其他服务器带来的复制数据文件到其他实例。一个单独的CFG文件随着,复制IBD文件,用于更新表的元数据(例如空间ID)为表空间是进口的。看到第15.7.6,“每表表空间文件复制到另一个实例”使用信息

参见CFG文件IBD文件空间ID系统表空间表空间

故障检修

确定问题根源的过程。一些资源解决MySQL的问题包括:

截断

DDL手术移除一个表的全部内容,而把表和相关指标的完整。对比。虽然在概念上有相同的结果DELETE声明没有哪里条款,它不同的幕后:InnoDB创建新的空表,滴的老桌子,然后重命名新表,以取代旧的。因为这是一个DDL操作,不能回滚

如果表包含被截断外键引用另一个表,截断操作使用较慢的操作方法,删除一行一次这样的引用表中的相应行可以删除所需的任何ON DELETE CASCADE条款.(mysql 5.5高不允许这种较慢的形式的截断,并返回一个错误如果外键涉及。在这种情况下,使用删除语句

参见DDL外键回降

元组

一个技术术语,指一组有序的元素。这是一个抽象的概念,用于在数据库理论的正式讨论。在数据库领域中,数据通常是由一个表行列代表。他们也可以表示为查询的结果集,例如,检索到的只有一些列一个表的查询,或联接表的列。

参见光标

两阶段提交

这是一个分布式的部分操作交易,下XA规格(有时简称2PC。)当多个数据库参与交易,不是所有的数据库犯罪变化,或所有数据库回滚的变化

参见犯罪回降交易XA

U

解开

那是在一个生命维持数据交易记录所有的变化,使他们能够以撤消回降运营它是存储在撤消日志无论是在系统表空间或在单独的基于还原表空间。在MySQL 8,UNDO日志存放在undo表空间的默认。

参见回降回滚段系统表空间交易撤消日志撤销表空间

撤销缓冲区

看到撤消日志

撤消日志

一个存储区域保存数据修改活动副本交易。如果一个事务需要看到原始数据(的一部分一致性读操作),未修改的数据从存储区中检索。

在MySQL 5.6高,您可以使用innodb_undo_tablespaces创建UNDO日志中基于还原表空间,选择存储在另一个存储设备,如SSD。在MySQL 8,UNDO日志驻留在撤销表空间的默认。

撤消日志分割成独立的部分,插入撤消缓冲区更新撤消缓冲区

参见一致性读回滚段SSD系统表空间交易撤销表空间

UNDO日志段

集合UNDO日志。UNDO日志段内存在回滚段。撤消日志段可能包含来自多个事务日志恢复。撤消日志段只能同时被一个事务使用但可以发布后在交易使用犯罪回降。也可称为一个撤销段

参见犯罪回降回滚段撤消日志

撤销表空间

UNDO表空间包含UNDO日志。UNDO日志存在UNDO日志片段,这是包含在回滚段。回滚段一直居住在SYSTEM表空间。在MySQL 5.6,回滚段可以驻留在撤销表空间。数撤销表空间是由innodb_undo_tablespaces配置选项

有关更多信息,参见第15.7.8”配置,撤销表空间”

参见回滚段系统表空间撤消日志UNDO日志段

唯一约束

一种约束断言一列不能包含任何重复的值。依据关系代数,它是用于指定一对一的关系。效率检查值是否可以插入(即价值已经不在列的存在),一个独特的约束是由底层的支持唯一索引

参见约束关系唯一索引

唯一索引

一列有一列或一组指数唯一约束。因为指数是不包含任何重复的值,查找与计数操作某些种类是比正常更高的效率指标。大多数的查找,对这类指标是确定某个值是否存在。在指标数量值为表中的行数相同,或者至少是一些对相关列的非空值的行。

变化的缓冲不适用于索引的优化。作为一种替代方法,您可以暂时设置unique_checks=0在做批量数据加载到一个InnoDB

参见基数变化的缓冲唯一约束独特的关键

独特的关键

列集(一个或多个)包括唯一索引。当你可以定义一个WHERE条件完全匹配一行的查询可以使用相关联的唯一索引,查找和错误处理可以非常有效地执行。

参见基数唯一约束唯一索引

v

可变长度的类型

一个可变长度的数据类型。VARCHARVARBINARY,和BLOBTEXT类型是可变长度的类型。

InnoDB将固定长度的字段大于或等于768字节长度的变长字段更大,它可以储存下页。例如,一个CHAR(255)柱可以超过768字节如果字符集的最大字节长度大于3,因为它是utf8mb4

参见关闭网页栏目溢出页

受害者

这个交易这是自动选择是回滚当一个死锁检测InnoDB回滚事务,更新了最少的行。

死锁检测可以禁用使用innodb_deadlock_detect配置选项

参见死锁死锁检测innodb_lock_wait_timeout交易

虚拟列

看到虚拟生成的列

虚拟生成的列

一列从表达式的值包含在计算列定义。列的值不存储,但进行阅读后立即行时,任何BEFORE触发器。虚拟生成的列不需要存储。InnoDB支持二级指标虚拟生成的列。

对比存储生成的列

参见基柱生成的列存储生成的列

虚拟索引

一个虚拟的指数是二级指标在一个或多个虚拟生成的列或结合虚拟生成的列和专栏或存储生成的列。有关更多信息,参见第13.1.18.9,“二级指标和生成的列”

参见次要指标存储生成的列虚拟生成的列

W

等待

当一个操作,如获取锁具互斥,或门闩,不能立即完成,InnoDB停顿了一下,又试了一次。暂停机制阐述不够,这种手术有自己的名字,这等待。单个线程暂停使用相结合的内部InnoDB调度,操作系统wait()电话,和持续时间短旋转

在重负荷多的交易系统,你可以使用从输出SHOW INNODB STATUS命令或性能模式确定线程花费太多的时间等待,如果是这样的话,你如何能提高并发

参见并发门闩锁具互斥性能模式旋转

热备份

备份在数据库运行,但限制了一些数据库操作的备份过程。例如,表可能变为只读。繁忙的应用程序和网站,你可能更喜欢热备份

参见备份冷备份热备份

热身

在一个典型的运行系统工作量在启动后一段时间,所以,缓冲池和其他内存区域都是他们会在正常情况下。这个过程发生的时候自然会随着时间的推移当MySQL服务器重新启动或进行一个新的工作量。

通常,你跑一段时间热身缓冲池的运行性能试验前的工作量,确保在多个运行结果一致;否则,性能可能会在第一次运行中人为的低。

在MySQL 5.6中,你可以加快升温过程使innodb_buffer_pool_dump_at_shutdowninnodb_buffer_pool_load_at_startup配置选项,将缓冲池的内容到内存后重启。这些选项是由MySQL 5.7的默认启用。看到第15.6.3.8,“保存和恢复缓冲池的状态”

参见缓冲池工作量

工作量

和体积的组合SQL和其他的数据库操作,通过典型或使用高峰期间进行数据库应用。你可以主体数据库的特定工作量的性能测试来确定瓶颈,或在容量规划

参见瓶颈CPU绑定磁盘绑定SQL

写结合

一种优化技术,降低写操作时脏页冲洗InnoDB缓冲池。如果在一个页面上一行被更新多次,或在同一页的多行的更新,所有这些变化都存储到数据文件在一个单一的写操作,而不是一个写的每一个变化。

参见缓冲池脏页脸红

X

XA

协调分布式标准接口交易允许多个数据库,以参与事务的同时保持遵守更多的详情,参见第13.3.8,“XA事务”

XA分布式事务支持是默认启用。如果你不使用这个功能,你可以禁用innodb_support_xa配置选项,避免每次交易的一个额外的fsync的性能开销。

在MySQL 5.7.10,禁用innodb_support_xa是不允许进行复制的不安全和防止绩效收益与二进制日志集团承诺。这个innodb_support_xa配置选项是在MySQL 8中删除。

参见二进制日志犯罪交易两阶段提交

Y

年轻

一个特征网页InnoDB缓冲池这意味着它已访问最近,所以在缓冲池中的数据结构的移动,所以它不会冲洗很快的LRU算法.这个词是用在一些information_schema对缓冲池相关表的列名。

参见缓冲池脸红information_schemaLRU网页