2015-02-24 368 views
2

MySQL(Innodb)使用倒排索引或正向索引?MySQL索引:倒排或正向

從文章What's the difference between an inverted index and a plain old index?

,我的理解是,每當我從密鑰記錄(如和字符串,INT),它是倒索引。以這種方式採取「倒排索引」意味着mySQL使用倒排索引。
但是爲什麼mySQL使用術語「索引」代替「倒排索引」?

+0

B樹索引將是一個「普通舊索引」。全文索引將是一個倒排索引。 – 2015-02-24 13:24:24

+0

@GordonLinoff,thx回覆。我知道,對於全文搜索(比如solr),使用倒排索引。但我沒有得到任何mysql文件說「轉發」索引。它只是說可以倒置或前進的「索引」。 B-Tree只是用於正向和反向索引的算法,用於回答的 – user811602 2015-02-24 13:37:04

回答

2

我假設InnoDB。

MySQL使用倒數索引爲其FULL TEXT索引。

然而,標準羣集次級index既不倒置或向前索引。我不知道他們的架構是否有標準術語。也許這是普通舊索引密集索引。對於每個表記錄,都有一個索引條目。

正如前面在評論中提到的那樣,MySQL默認使用B-Tree格式。

MySQL尚未支持(v5.6)降序索引。例如。當使用DESC關鍵字進行排序時,MySQL可能會簡單地向後遍歷索引。

+0

Thx。我沒有任何鏈接指出MySQL使用的「反向」索引。雖然我相信你自己的論點,如果你能爲我提供任何參考資料(如鏈接),這將是很大的幫助。我想閱讀更多內容。它也將幫助其他人想要閱讀更多關於相同的內容。 – user811602 2015-02-24 14:39:51

+0

我添加了一些鏈接。 – 2015-02-24 14:48:04

+0

thx很多馬庫斯。我正在閱讀這些鏈接 – user811602 2015-02-24 14:49:14