我想在MySQL打个电话,那里有一张很大的桌子。我希望查询能够在其中一个列中搜索并找到类似的结果。这是我一直在尝试的sql查询:
SELECT gene FROM promoter where gene LIKE '%ccl5%' limit 10;我加入“限制10”只是为了试一试。我有索引“基因”,它需要超过5-6秒的时间来进行这个搜索。我怎样才能以最起码的速度在特定颜色中搜索“短语”呢?
我也只想得到一个每一个结果返回。如果我搜索'ccl5‘并且它已经被找到好几次了,我会得到一个列表,并返回所有的'ccl5’。我尝试使用SELECT DISTINCT,但这导致服务器很长时间都在处理查询。我还没有看到它以这个命令结束。
发布于 2015-01-23 15:06:53
如果您的值真的那么大,您可以尝试一个InnoDB全文索引
ALTER TABLE promoter add fulltext index index_name(gene);然后按如下方式选择:
SELECT gene FROM promoter WHERE match (gene ) against ('ccl5');https://stackoverflow.com/questions/28112589
复制相似问题