mysql 怎么 查询 包含字段

时间:2022-08-15 15:58:50
维护一个表,就两个字段


uid: 用户id, 主键。
datas: 推荐关系。数据格式如 ,0,1,2,3,4,5,6,------n,每个数字代表一个用户的id。



mysql 怎么 查询 包含字段


上图,就是两个字段 第一个逗号  分开,

比如,我想查询 字段2 datas  包含 2366 的  数据。

有很多种方法,比如 like  left  substring  等,我想请教,还 有不有哪种最 快的方法,或者说能 使用 到索引。。





6 个解决方案

#1


[索引查找是用不到的,无法根据你的值做范围定位,需要扫描所有的数据,所以索引扫描是可以用到的,但你只有两个字段,索引扫描和表扫描没什么区别,所以也就这样了
如果发效率,第2个字段应该是分拆后存储的,每个值一条记录,这样才能真正的使用索引, 对于关系型数据库,范式1要求每个信息项不可再分,所以尽管可以利用 LIKE %XXXX% 来查询符合条件的字段,但由于你的设计违反了F1所以查询效率不会太高。如果确实只能这么设计你的表及字段,建议使用MySQL的 FULLTEXT 创建全文索引。, 可以尝试建立全文索引, 如果你想提高查询速度的话,目前你的表设计是不合理的,应该做一个用户和用户多对多的一个关系表,一个属性只存一个用户ID,这样就可以用索引查询,效率自然就有飞速的提升;, 建立全文索引, 用full index试一试]

#1


[索引查找是用不到的,无法根据你的值做范围定位,需要扫描所有的数据,所以索引扫描是可以用到的,但你只有两个字段,索引扫描和表扫描没什么区别,所以也就这样了
如果发效率,第2个字段应该是分拆后存储的,每个值一条记录,这样才能真正的使用索引, 对于关系型数据库,范式1要求每个信息项不可再分,所以尽管可以利用 LIKE %XXXX% 来查询符合条件的字段,但由于你的设计违反了F1所以查询效率不会太高。如果确实只能这么设计你的表及字段,建议使用MySQL的 FULLTEXT 创建全文索引。, 可以尝试建立全文索引, 如果你想提高查询速度的话,目前你的表设计是不合理的,应该做一个用户和用户多对多的一个关系表,一个属性只存一个用户ID,这样就可以用索引查询,效率自然就有飞速的提升;, 建立全文索引, 用full index试一试]