B-tree
是一种在数据库索引中流行使用的树状数据结构。这种结构总是有序存储,使得恰好匹配(=运算符)和范围(比如,>=,<=和between)可以被快速查找。大多数存储引擎,比如InnoDB和MyISAM都使用这种类型的索引。
由于B-tree节点可以有多个子节点,所以它和binary tree是不一样的,后者被限制一个节点只能有两个子节点。
和hash index
相反,其只在MEMORY
存储引擎中使用。MEMORY
存储引擎也可以使用B-tree,而且如果查询中使用了范围运算符,你应该选择B-tree索引。
B-tree的使用将被作为索引设计通用类的一个参考。MySQL存储引擎所使用的B-tree结构,由于其在经典的B-tree设计的复杂性没有呈现出来,其被视为一个变体。对于相关信息,参考MySQL手册InnoDB的Page
结构Fil Header
部分。
backticks(反引号)
MySQL的sql语句的标志符中,如果包含特殊字符或者保留字段,必须使用反引号(`)
。比如,引用一个以 “FOO#BAR” 或者一个名为”select”的列,就需要将标志符写作`
FOO#BAR`
和`
select`
。由于反引号提供了额外的安全级别,因此在程序生成的SQL语句中经常被使用,在这些语句中,标志符名称可能预先是未知的。
很多其他 的数据库系统在特殊名词前使用双引号。在可移植性上,可以启用MySQL中的 ANSI_QUOTES
模式并且使用双引号而不是反引号来突出标志符名称。
参见SQL
backup
从MySQL的实例中复制部分或者全部表的数据和元数据来保证安全的过程。也可以指一组文件拷贝。这是DBA的一项很重要的任务。这个操作的反过程就是恢复操作。
对应MySQL,物理备份
由MySQL Enterprise Backup
产品来完成,逻辑备份
由mysqldump
命令来完成。 依据备份数据的大小和表现,这种技术有不同的特性和速度(尤其是恢复操作的速度)。
依据备份对普通数据库操作的影响程度,备份又被进一步分为热
,暖
和冷
。(热备份干扰最小,冷备份干扰最大)。
参见cold backup,hot backup,logical backup,MySQL Enterprise Backup,mysqldump,physical backup,warm backup。
Barracuda
支持COMPRESSED
行格式来启用InnoDB表压缩,DYNAMIC
行格式来提高长变量长度的列的存储格局的一种InnoDB文件格式的编码名称。
MySQL Enterprise Backup
3.5版本及以上支持使用Barracuda
文件格式来备份表空间。
参见Antelope,compact row format,compressed row format,dynamic row format,file format,file-per-table,general tablespace,innodb_file_format,MySQL Enterprise Backup,row format,system tablespace。
beta
软件产品生命周期的一个早期阶段,这个阶段的产品仅供测评,没有一个明确的或者小于1的发布号。InnoDB不使用beta设计,它偏爱一种越过几个点发布,直达GA
发布的 early adopter
阶段。
参见early adopter。
binary log
一个包含所有试图修改表数据的语句记录的文件。在replication
场景中,这些语句会被再次执行来同步从服务器,或者在从备份中恢复表数据后使数据库数据达到最新。尽快Oracle推荐在使用复制或者备份时总是启用这个特性,但它也可以被关闭和打开。
你可以使用mysqlbinlog
命令来检查二进制日志文件的内容,或者在复制或恢复阶段重新执行这些语句。要查看二进制日志的全部信息,查看Section 5.4.4,”The Binary Log”。对MySQL关于二进制日志配置选项,查看Section 17.1.4.4,”Binary Log Options and Variables”。
对于MySQL Enterprise Backup
,二进制日志的文件名称和文件中的当前位置是一些重要的细节。在复制上下文中执行备份时,如果要为主服务器记录这些信息,可以通过指定--slave-info
选项。
在MySQL5.0之前的版本中,使用的是一个相似的功能,就是众所周知的更新日志。在5.0及以后的版本中,二进制日志替换了更新日志。
参考binlog,,MySQL Enterprise Backup,replication。
binlog
binary log
的俗称。比如,你可能在邮件或者论坛讨论中看到使用这个缩写。
blind query expansion
一种由WITH QUERY EXPANSION
子句启用的full-text search
的特殊模式。它执行两次查询,第二个查询的查询短语是原始查询短语和第一次查询中最相关的一些文档串联起来的。这种技术主要 应用在短查询语句中,可能只是一个单词。它可以发现准确搜索项在文档中不存在的地方的相关匹配。
bottleneck
一个在大小和容量上被限制的系统的一部分,这部分对整个系统的吞吐量都有影响。比如,内存比需要的小;对排他性资源的访问会阻止CPU的多核同时运行;或者等待I/O完成可能会阻止CPU满负载运行。去掉瓶颈可以提高concurrency
。比如,让多个InnoDB buffer pool
实例,在多个会话同时从buffer pool
读取或者向其中写入时,减少争抢。
bounce
在关机动作后立刻重启。理想情况下,会有一个相对短暂的预热阶段来让性能和吞吐量快速回到高水平。
参见shutdown。
buddy allocator(伙伴算法)
在InnoDB buffer pool
中管理不同大小页
的一种机制。
参见buffer pool,page,page size。