本节提供有关 Index
类的信息。
- 父类
- 子类
无
- 描述
-
此类表示
NDB Cluster
表列上的索引。它是NdbDictionary
类的子类,使用Object
类。如果使用 NDB API 创建或更改索引,MySQL 将无法看到这些修改。唯一的例外是使用
Index::setName()
重命名索引。 - 方法
-
下表列出了
Index
的公共方法以及每个方法的目的或用途表 2.23 Index 类方法和描述
名称 描述 Index()
类构造函数 ~Index()
析构函数 addColumn()
向索引添加 Column
对象addColumnName()
按名称向索引添加列 addColumnNames()
按名称向索引添加多个列 getColumn()
获取构成索引(部分)的列 getLogging()
检查索引是否记录到磁盘 getName()
获取索引的名称 getNoOfColumns()
获取属于索引的列数 getObjectStatus()
获取索引对象状态 getObjectVersion()
获取索引对象状态 getObjectId()
获取索引对象 ID getTable()
获取被索引表的名称 getType()
获取索引类型 setLogging()
启用/禁用将索引记录到磁盘 setName()
设置索引的名称 setTable()
设置要索引的表的名称 setType()
设置索引类型
- 类型
Index
定义了一个公共类型,即Type
类型。
- 描述
-
这用于创建
Index
的新实例。使用 NDB API 创建的索引对 MySQL 服务器不可见。
- 签名
Index ( const char* name = "" )
- 参数
新索引的名称。可以创建一个没有名称的索引,然后使用
setName()
为其分配名称。请参阅 Index::setName()。- 返回值
Index
的新实例。- 析构函数
析构函数 (
~Index()
) 作为虚方法提供。
- 描述
-
此方法可用于向索引添加列。
列的顺序与它们添加到索引的顺序相匹配。但是,这仅适用于有序索引。
- 签名
void addColumn ( const Column& c )
- 参数
要添加到索引的列的引用
c
。- 返回值
无.
- 描述
此方法的工作方式与
addColumn()
相同,只是它将列的名称作为参数。请参阅 Index::getColumn()。- 签名
void addColumnName ( const char* name )
- 参数
要添加到索引的列的
name
,作为常量字符指针。- 返回值
无.
- 描述
-
此方法用于一次向索引定义添加多个列名。
与
addColumn()
和addColumnName()
方法一样,索引按添加顺序编号。这通常只对有序索引重要。 - 签名
void addColumnNames ( unsigned noOfNames, const char** names )
- 参数
-
此方法采用两个参数,如下所示
要添加到索引的列数和名称
noOfNames
。要添加的
names
(作为指向指针的指针)。
- 返回值
无.
- 描述
此方法检索索引中指定位置的列。
- 签名
const Column* getColumn ( unsigned no ) const
- 参数
列的序数位置编号
no
,作为无符号整数。使用getNoOfColumns()
方法确定索引包含多少列—有关详细信息,请参阅 Index::getNoOfColumns()。- 返回值
索引中位置为
no
的列,作为指向Column
实例的指针。请参阅 第 2.3.1 节 “Column 类”。
- 描述
-
使用此方法确定是否已为索引启用记录到磁盘。
未记录的索引在集群启动或重新启动时重建。
有序索引当前不支持记录到磁盘;每次启动集群时都会重建它们。(这包括重新启动。)
- 签名
bool getLogging ( void ) const
- 参数
无.
- 返回值
-
布尔值
true
:索引正在记录到磁盘。false
:索引未被记录。
- 描述
此方法获取索引的对象状态。
- 签名
virtual Object::Status getObjectStatus ( void ) const
- 参数
无.
- 返回值
Status
值;有关更多信息,请参阅 Object::Status。
- 描述
此方法获取索引的对象版本(请参阅 NDB 模式对象版本)。
- 签名
virtual int getObjectVersion ( void ) const
- 参数
无.
- 返回值
索引的对象版本,作为整数。
- 描述
此方法用于启用或禁用索引到磁盘的日志记录。
- 签名
void setLogging ( bool enable )
- 参数
setLogging()
接收一个布尔参数enable
。如果enable
为true
,则为索引启用日志记录;如果为 false,则禁用此索引的日志记录。- 返回值
无.
- 描述
-
此方法设置索引的名称。
这是唯一一个其结果对 MySQL 服务器可见的
Index::set
方法。*
() - 签名
void setName ( const char* name )
- 参数
索引的所需
name
,作为常量字符指针。- 返回值
无.
本节提供有关 Index
类型的相关信息。
- 描述
-
这是一个枚举类型,它描述了由给定
Index
实例表示的列索引的类型。不要将此枚举类型与
Object::Type
或Column::Type
混淆。 - 枚举值
-
下表显示了可能的值及其描述
表 2.24 Index::Type 数据类型值和描述
名称 描述 未定义
未定义的对象类型(初始值/默认值) UniqueHashIndex
唯一无序哈希索引(当前支持的唯一索引类型) OrderedIndex
非唯一有序索引