mysql 有间隔符的字符串查询的问题
如图,想要查询字段 type_sid 中带有 gys 的所有记录
要怎么写的优雅,查询的准确。
还有是不是这种设计不太合理?要使用主从表更好 ?
回答
SELECT * FROM contact_company WHERE FIND_IN_SET('gys',type_sid);
这样用不上索引啊..
如果你这个类型比较少,就在这个表里,每个类型一个标志位来记录.
如果你的这个类型比较多的话,还是加个类型表和一个中间多对多的关系表来处理.
又或者存储 bit 类型,每个 bit 位代表一个类型,然后用位计算来判断.
这样设计其实挺不合理的,弄个中间表这样查询比较自然和符合逻辑
iid | type_sid |
---|---|
1 | kh |
1 | gys |
这样查询就直接select type_sid from a where iid = 1
这样直接查询就行了
以上是 mysql 有间隔符的字符串查询的问题 的全部内容, 来源链接: utcz.com/a/66165.html