我有一个表!
a
id tid
1 1,2
2 1
3 2
4 2,3
5 1,2,3tid 是数字 用逗号分开我要查询某个数字如 tid等于1
我用的是 where tid like '%1%'
发现like效率很低!怎么样提高和优化最好能用上索引之类的
a
id tid
1 1,2
2 1
3 2
4 2,3
5 1,2,3tid 是数字 用逗号分开我要查询某个数字如 tid等于1
我用的是 where tid like '%1%'
发现like效率很低!怎么样提高和优化最好能用上索引之类的
解决方案 »
- mysql服务启动问题
- 安装handlersocke插件后,为什么数据库总是自己不停的重启
- 求MySQL语句查询
- mysql sql有没有 单个字符的通配符
- select * from table where column='username'不能检索到中文的username,英文可以。求助!
- 我在MySQL中varchar类型中存的是UTF8格式的数据,如何才能正常显示
- 新手,试用MySQL,低级问题,望指教!
- 请问用户自定义函数的问题。
- MySQL 能免费到何时??
- 求一简单SQL语句: 其中有两字段,如何查询出第一个字段的值相等的组中第二个字段最大的所有记录?
- 请教高手:矢量图形如何储存到Mysql数据库中
- 为什么mysql子查询中不能用limit而临时表能呢?
2、修改表结构,不符合3NF
id tid
1 1
1 2
2 1
3 2
4 2
4 3
5 1
5 2
5 3
在TID上建立索引
全文索引有些问题!过多一样好像就不显着了
我原来想这样设置a
id tid
1 1,2
2 1
3 2
4 2,3
5 1,2,3改成
id id1 id2 id3
1 1 1
2 1
3 1
4 1 1
5 1 1 1
查询1就where id1=1 查询2就where id2=2
如果在加一个值 4
就要加一个字段!对程式控制很不方便!
所以才来提问一下有没好的解决方法一楼的还算可行!控制起来也有点麻烦!算是比较好的解决方法
我原来想这样设置a
id tid
1 1,2
2 1
3 2
4 2,3
5 1,2,3改成
id id1 id2 id3
1 1 1
2 1
3 1
4 1 1
5 1 1 1
查询1就where id1=1 查询2就where id2=1
如果在加一个值 4
就要加一个字段!对程式控制很不方便!
所以才来提问一下有没好的解决方法一楼的还算可行!控制起来也有点麻烦!算是比较好的解决方法