2

使用 join 语句时,我想使用类似条件连接表。最有效的方法是什么?

使用fielda like CONCAT ('%', fieldb, '%')似乎不是很有效

4

2 回答 2

1

使用 2 个 wild char 会使索引无用,您可以做的是删除前面的那个,而不是 mysql 仍会使用索引来查找您搜索的任何内容。如果您没有索引,请使用以下代码创建索引:

CREATE INDEX indexname ON tablename(columnname);

然后将查询更改为

fielda like CONCAT (fieldb, '%')

要使用索引,其他要考虑的事情是列是一个文本字段或简单的只是一个 varchar 字段,因为如果它包含更长的文本,您应该考虑全文搜索。

这是关于该主题的更深入的文章,其中包含示例和良好的解释等。

http://devzone.zend.com/26/using-mysql-full-text-searching/

于 2013-04-22T16:41:03.613 回答
0

如果你想做实际的搜索,你会想学习如何做全文索引和查询。我相信你可以通过搜索谷歌找到一些关于这个主题的入门书,但这里是关于它的 MySQL 文档:http: //dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

于 2013-04-22T18:12:38.580 回答