使用join语句时,我想使用like条件加入表。 最有效的方法是什么?
使用fielda like CONCAT ('%', fieldb, '%')
似乎效率不高
答案 0 :(得分:1)
使用2个wild char渲染索引无用,你可以做的是删除前面的那个,而mysql仍然会使用索引找到你搜索的内容。如果您没有索引,要创建一个索引,请使用以下代码:
CREATE INDEX indexname ON tablename(columnname);
然后将查询更改为
fielda like CONCAT (fieldb, '%')
要使用索引,要考虑的其他事项是列文本字段或简单只是varchar字段,如果它包含更长的文本,则应考虑全文搜索。
这是一篇关于这个主题的更深入的文章,包括样本和良好的解释等。
答案 1 :(得分:0)
如果您想进行实际搜索,您将需要学习如何进行全文索引和查询。我相信你可以通过搜索谷歌找到关于这个主题的一些引子,但这里有MySQL文档:http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html