加速查询,怎么设计一对多 ?
jldzy 2015-05-18 10:20:39 现在有一张表tba(Id int, Type int, Value int) , 主键是三个字段(Id,Type,Value). 一个Id, Type, 可以对应多个Value. 例如
Id Type Value
1000 1 10
1000 1 20
1000 1 30
1001 1 10
1001 1 40
前端 传入2个参数( IsAll 0:包含其中一个Value,1:全部包含所有Value ,Value)
例如 传入参数 1,‘10,20’ 则要求 同一Id Type 下面 必须 包含10,20 的Value , 则返回Id 1000
例如 传入参数 0,‘10,20’ 则要求 同一Id Type 下面 包含其中一个10,20 的Value , 则返回Id 1000,1001
参数传入的Value是不确定的,这个表数据量大概是5000万 左右,
开始想把所有的Value 放在一个字段,用, 隔开,但是这样查询用Like 效率比较低, 有什么好的方案 方便查询???
Id Type Value
1000 1 10,20,30
1001 1 10,40