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

时间:2016-09-20 15:48:50

标签: mysql indexing query-performance find-in-set

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

MySQL query finding values in a comma separated string

但是,我想知道两个选项TestDll和&喜欢逗号给性能带来影响吗?他们是否使用字段索引来提供结果?

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

1 个答案:

答案 0 :(得分:0)

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

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

构建模式的基本规则是"数组"需要表示为行,通常在单独的表中。不是在一个commalist。不会在列之间展开。