繁体   English   中英

MySQL-FIND_IN_SET用于逗号分隔的字段值

[英]MySQL - FIND_IN_SET for comma separated field values

我在一个表中有几个字段存储逗号分隔的值。 我可以使用like或FIND_IN_SET来显示查询,以从逗号分隔的值中查找数据。

MySQL查询以逗号分隔的字符串查找值

但是,我想知道FIND_IN_SET('red',colors)和诸如此类的两个选项对性能有何影响? 他们是否使用字段索引来提供结果?

如果不是,那么我们如何优化查询并使用索引从逗号分隔的字段中快速获取数据?

查询性能的基本规则:为查询调整合适的索引。 您的查询是什么? 我们SHOW CREATE TABLE一下SHOW CREATE TABLE

索引用法的基本规则:不要在函数内部隐藏索引列。 这样做会导致忽略索引。 这导致扫描整个表。 太慢了 我指的是隐藏在FIND_IN_SET() color

构建模式的基本规则是,“数组”通常需要在单独的表中表示为行。 不在逗号中。 跨列未展开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM