SELECT name FROM users WHERE type_a1=1 AND type_a2=5 AND type_b2=8
在正常情况下可以找到这样的命令。但假设1特殊情况:
每个用户有260个类型(a0,b0..z0到a9,b9..z9),
每个类型在0-9中也有10个值。
在特殊情况下,需要指定260种类型的组合。我不想在260列上使用260个SELECT,而是使用1个单列,以便命令看起来像这样
SELECT name FROM users WHERE type='a04b05c01...y95z96'
我的问题有两个:
1)使用1个单列来存储多个数据组合而不是多个列是否更有效?
2)如果(有时)要求是仅来选择3种类型的组合(其他257种类型可以是其他类型),在260列的情况下,我们的第一个命令的性能如何?在单个用户类型列的情况下,与下面的命令相比,用户类型是什么?
SELECT name... FROM users WHERE type LIKE %a11% AND type LIKE %a25% AND type LIKE %b281%