我有一个这样的帖子表:
-----帖子-----
- ID
-..等等
-类别1
-类别2
-类别3
这些类别中的任何一个都可以被过滤掉,而我正计划构建如下的SQL语句:
SELECT *
FROM posts
WHERE category1='..sth..'
AND category1='..sth..'
OR category1='..sth..'
OR category2='..sth..'
OR category3='..sth..'
AND category3='..sth..'
OR ..."
这是不好的做法吗,会不会有性能问题?
编辑:我给出的查询的AND和OR语句仅作为示例。
最佳答案
如果您的数据库设计合理,那么可以,这不是一个坏习惯,实际上是选择数据的理想方法。
最好的办法是考虑如何使用您的数据,并设计存储以使其易于访问您最需要的数据。
这里有很多关于数据库设计细节的文章。
您建议的SQL是荒谬的(使用方括号),但我怀疑您仅打算将其用作示例。
关于mysql - 对于MySQL而言,使用AND&OR语句是否太糟糕了?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18836607/