2.3.8 指数类别

本节提供有关Index 该类的信息。

索引类别概述

家长班

NdbDictionary

儿童班

没有任何

描述

此类表示NDB Cluster表列上的索引。它是 NdbDictionary该类的后代,使用Object该类。

如果您使用 NDB API 创建或更改索引,则 MySQL 看不到这些修改。唯一的例外是使用 Index::setName()重命名索引。

方法

下表列出了公共方法 Index以及每个方法的用途或用途:

表 2.22 索引类方法及说明

姓名 描述
Index() 类构造器
~Index() 析构函数
addColumn() Column对象添加到索引
addColumnName() 按名称向索引添加列
addColumnNames() 按名称向索引添加多个列
getColumn() 获取构成(部分)索引的列
getLogging() 检查索引是否记录到磁盘
getName() 获取索引的名称
getNoOfColumns() 获取属于索引的列数
getObjectStatus() 获取索引对象状态
getObjectVersion() 获取索引对象状态
getObjectId() 获取索引对象 ID
getTable() 获取被索引的表的名称
getType() 获取索引类型
setLogging() 启用/禁用将索引记录到磁盘
setName() 设置索引的名称
setTable() 设置要索引的表的名称
setType() 设置索引类型

类型

Index定义一种公共类型, Type类型。

索引类构造函数

描述

这用于创建 的新实例 Index

MySQL 服务器无法看到使用 NDB API 创建的索引。

签名
Index
    (
      const char* name = ""
    )
参数

新索引的名称。可以创建一个没有名称的索引,然后使用 setName(). 参见 Index::setName()

返回值

的新实例Index

析构函数

析构函数 ( ~Index()) 作为虚拟方法提供。

索引::添加列()

描述

此方法可用于将列添加到索引。

列的顺序与它们添加到索引的顺序相匹配。但是,这只对有序索引有影响。

签名
void addColumn
    (
      const Column& c
    )
参数

c对要添加到索引的列 的引用。

返回值

没有

索引::添加列名()

描述

此方法的工作方式与 相同 addColumn(),不同之处在于它采用列名作为参数。参见 Index::getColumn()

签名
void addColumnName
    (
      const char* name
    )
参数

要添加到索引的name列的 ,作为常量字符指针。

返回值

没有

索引::addColumnNames()

描述

此方法用于一次将多个列名添加到索引定义中。

addColumn()addColumnName() 方法一样,索引按照它们添加的顺序编号。这通常只对有序索引有影响。

签名
void addColumnNames
    (
      unsigned     noOfNames,
      const char** names
    )
参数

此方法有两个参数,列在此处:

  • noOfNames要添加到索引 的列数和名称 。

  • names要添加的(作为指向指针的指针) 。

返回值

没有

索引::getColumn()

描述

此方法检索索引中指定位置的列。

签名
const Column* getColumn
    (
      unsigned no
    ) const
参数

列的顺序位置编号no,作为无符号整数。使用该 getNoOfColumns()方法来确定有多少列构成索引——有关详细信息,请参阅 Index::getNoOfColumns()

返回值

在索引中具有位置的列no,作为指向 的实例的指针 Column。请参阅 第 2.3.1 节,“列类”

索引::getLogging()

描述

使用此方法确定是否已为索引启用日志记录到磁盘。

未记录的索引会在集群启动或重新启动时重建。

有序索引目前不支持记录到磁盘;每次启动集群时都会重建它们。(这包括重新启动。)

签名
bool getLogging
    (
      void
    ) const
参数

没有

返回值

一个布尔值:

  • true: 正在将索引记录到磁盘。

  • false: 索引未被记录。

索引::获取名称()

描述

该方法用于获取索引的名称。

签名
const char* getName
    (
      void
    ) const
参数

没有

返回值

索引的名称,作为常量字符指针。

索引::getNoOfColumns()

描述

该方法用于获取组成索引的列数。

签名
unsigned getNoOfColumns
    (
      void
    ) const
参数

没有

返回值

一个无符号整数,表示索引中的列数。

索引::getObjectStatus()

描述

此方法获取索引的对象状态。

签名
virtual Object::Status getObjectStatus
    (
      void
    ) const
参数

没有

返回值

一个Status值;有关详细信息,请参阅 Object::Status

索引::getObjectVersion()

描述

此方法获取索引的对象版本(请参阅 NDB Schema Object Versions)。

签名
virtual int getObjectVersion
    (
      void
    ) const
参数

没有

返回值

索引的对象版本,作为整数。

索引::getObjectId()

描述

该方法用于获取索引的对象ID。

签名
virtual int getObjectId
    (
      void
    ) const
参数

没有

返回值

对象 ID,作为整数。

索引::getTable()

描述

该方法可用于获取索引所属表的名称。

签名
const char* getTable
    (
      void
    ) const
参数

没有

返回值

表的名称,作为常量字符指针。

索引::获取类型()

描述

此方法可用于查找索引的类型。

签名
Type getType
    (
      void
    ) const
参数

没有

返回值

一种索引类型。有关可能的值, 请参阅Index::Type 。

Index::setLogging

描述

此方法用于启用或禁用将索引记录到磁盘。

签名
void setLogging
    (
      bool enable
    )
参数

setLogging()采用单个布尔参数enable。如果 enabletrue,则为索引启用日志记录;如果为 false,则禁用该索引的日志记录。

返回值

没有

索引::设置名称()

描述

此方法设置索引的名称。

这是唯一 一个结果对 MySQL 服务器可见的方法。 Index::set*()

签名
void setName
    (
      const char* name
    )
参数

所需name的索引,作为常量字符指针。

返回值

没有

索引::设置表()

描述

此方法设置要建立索引的表。该表按名称引用。

签名
void setTable
    (
      const char* name
    )
参数

要索引的name表的 ,作为常量字符指针。

返回值

没有

索引::设置类型()

描述

该方法用于设置索引类型。

签名
void setType
    (
      Type type
    )
参数

type指数。有关可能的值,请参阅Index::Type

返回值

没有

索引::类型

本节提供有关 Index类型的信息。

描述

这是一个枚举类型,它描述了由 的给定实例表示的列索引的排序 Index

不要将此枚举类型与 Object::Type或 混淆Column::Type

枚举值

下表显示了可能的值以及说明:

表 2.23 Index::Type 数据类型值和描述

姓名 描述
Undefined 未定义的对象类型(初始/默认值)
UniqueHashIndex 唯一无序哈希索引(目前仅支持索引类型)
OrderedIndex 非唯一、有序索引