有没有办法缩短由许多条件组成的MySQL查询?
我有这样一个问题:有没有办法缩短由许多条件组成的MySQL查询?,mysql,Mysql,我有这样一个问题: SELECT field FROM table WHERE column1 = 'x' OR column2 = 'x' OR column3 = 'x' OR column4 = 'x'... 现在有很多列要检查相同的值。有什么办法可以缩短这个时间吗?您应该使用Mysql全文搜索功能 SELECT field FROM table WHERE 'x' in (column1, column2, column3, ....)
SELECT field
FROM table
WHERE column1 = 'x' OR
column2 = 'x' OR
column3 = 'x' OR
column4 = 'x'...
现在有很多列要检查相同的值。有什么办法可以缩短这个时间吗?您应该使用Mysql全文搜索功能
SELECT field FROM table WHERE 'x' in (column1, column2, column3, ....)
以下是您可以在代码中全文使用的查询:
SELECT * FROM your_table_name
WHERE MATCH (yourcolumn1,yourcolumn2,...)
AGAINST ('your texts to search' IN BOOLEAN MODE);
注意:您应该对要搜索的列应用全文索引
您可以通过与或条件的组合使用like进行查询:
select * from table
where
match (column1, column2, column3)
against ('xxx' IN BOOLEAN MODE)
请参阅:Nice-但我怀疑真正的问题是架构没有正常化。有些网站有“搜索所有字段”功能,或“搜索所有选中的字段”。这可能在现实生活中很有用。