簡體   English   中英

mysql部分索引,反向索引

[英]mysql partial indexing, reverse indexing

我有一張桌子,上面有單詞清單。

單詞VARCHAR(16)

我需要創建一個反向索引。 即。 “蘋果”一詞的索引為“ elppa”,“香蕉”一詞的索引為“ ananab”,依此類推。

另外,是否可以對單詞的一部分進行索引? 例如,跳過前/后1個或2個字符:

pple(蘋果)anana(香蕉)

這些事情可能嗎?

您可以在受前綴長度限制的字段上創建索引,這意味着僅會考慮前n個字符,但是您不能使用任意的開始和結束位置來進行索引。 在mysql的CREATE INDEX文檔頁面上閱讀有關它的更多信息。

在這種情況下,我只需要再寫一列,使用mysql的REVERSE函數填充它並在其上創建一個索引,這樣就可以得到一個字段來搜索原始單詞的反義字。

其他數據庫(例如Postgresql)允許您為表達式建立索引 ,這將有效地使您可以為reverse(col_name)建立索引,而無需創建額外的列。 因此這是可能的,只是現在不使用mysql。 (因為我相信版本9 potgresql具有reverse()本機)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM