我想打电话给MySQL,我的桌子很大。我希望查询能够在其中一列中进行搜索并找到相似的结果。这是我一直在尝试的SQL查询:
SELECT gene FROM promoter where gene LIKE '%ccl5%' limit 10;
我加入了“极限10”只是为了尝试一下。我已在“ gene”上建立索引,因此需要5-6秒钟才能进行此搜索。如何以最小的速度搜索特定段落中的“短语”?
我也只想返回每个结果之一。如果我搜索“ ccl5”并且已经找到了几次,那么我会得到一个包含所有“ ccl5”返回的列表。我尝试使用SELECT DISTINCT,但这使服务器处理了很长时间的查询。
如果您的值真的那么大,则可以尝试使用InnoDB全文索引:
ALTER TABLE promoter add fulltext index index_name(gene);
然后像这样选择它:
SELECT gene FROM promoter WHERE match (gene ) against ('ccl5');
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句