本節提供有關 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()
取得索引物件狀態 getObjectVersion()
取得索引物件 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 Schema 物件版本)。
- 簽名
virtual int getObjectVersion ( void ) const
- 參數
無.
- 傳回值
索引的物件版本,為一個整數。
- 描述
此方法用於啟用或停用將索引記錄到磁碟。
- 簽名
void setLogging ( bool enable )
- 參數
setLogging()
接受一個布林參數enable
。如果enable
為true
,則會啟用索引的記錄;如果為 false,則會停用此索引的記錄。- 傳回值
無.
- 描述
-
此方法設定索引的名稱。
這是唯一一個結果對 MySQL 伺服器可見的
Index::set
方法。*
() - 簽名
void setName ( const char* name )
- 參數
索引所需的
name
,為常數字元指標。- 傳回值
無.
- 描述
此方法設定要建立索引的表格。表格是透過名稱來參照。
- 簽名
void setTable ( const char* name )
- 參數
要建立索引的表格的
name
,為常數字元指標。- 傳回值
無.
本節提供有關 Index
類型的資訊。
- 描述
-
這是一個列舉類型,描述給定的
Index
實例所代表的欄位索引種類。請勿將此列舉類型與
Object::Type
或Column::Type
混淆。 - 列舉值
-
下表顯示可能的值,以及描述
表 2.24 Index::Type 資料類型值和描述
名稱 描述 Undefined
未定義的物件類型(初始/預設值) UniqueHashIndex
唯一、無序的雜湊索引(目前唯一支援的索引類型) OrderedIndex
非唯一、有序的索引