簡體   English   中英

如何在MySQL的一個表的一列上進行搜索調用?

[英]How do I do a search call on one column of a table in MySQL?

我想在MySQL上打電話,我有一張非常大的桌子。 我想查詢能夠在其中一個列中搜索並找到類似的結果。 這是我一直在嘗試的SQL查詢:

SELECT gene FROM promoter where gene LIKE '%ccl5%' limit 10;

我加入了“限制10”只是為了嘗試一下。 我對“基因”進行索引,它進行搜索需要5-6秒。 如何在速度最低的特定coloumn中搜索“短語”?

我還希望只返回每個結果中的一個。 如果我搜索'ccl5'並且已經多次找到它,我會得到一個包含所有'ccl5'的列表。 我嘗試過使用SELECT DISTINCT,但這會導致服務器長時間處理查詢。我還沒有看到它完成此命令。

如果您的值非常大,可以嘗試使用InnoDB全文索引

ALTER TABLE promoter add fulltext index index_name(gene);

然后選擇它:

SELECT gene FROM promoter WHERE match (gene ) against ('ccl5');

暫無
暫無

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

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