0

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

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

但是,我想知道FIND_IN_SET('red',colors)逗号对性能有多大影响?他们是否使用字段索引来提供结果?

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

4

1 回答 1

0

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

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

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

于 2016-09-23T03:57:22.670 回答