吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 921|回复: 6
收起左侧

[求助] 这种mysql表如何去加索引?

[复制链接]
ppgjx 发表于 2022-8-13 13:45
现在有个场景 一个用户对应多个商品 这个商品是有次数的 我是这样的设计表的

用户id   商品id       剩余次数
user_id goods_id count
小明id      篮球id     剩余1次
小明id      足球id     剩余2次
小王id     篮球id     剩余1次
小王id      足球id     剩余2次

像这种一个用户id对应多个商品 我现在像查询 小明的篮球id 就必须 select * from 表明 where user_id = 小米 and goods_id= 足球id

这样好像是全表扫描吧 因为user_id和goods_id都是非唯一了 没办法加唯一索引把 有什么办法可以优化吗 或者表结构该怎么改改

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

zhuyanxuan518 发表于 2022-8-13 14:01
组合索引呗,alter table xxx add index xxx(user_id, goods_id)
LEE721 发表于 2022-8-13 14:11
感觉分开会好一点吧,三范式,分成用户表,商品表,订单表
PncB2INYyoKw0l9 发表于 2022-8-13 14:16
select goos_id from 表名 where goos_id=篮球id group by user_id having user_id=小明id;
SeriousSnow 发表于 2022-8-13 20:54
分开建表。分开搜索。
misswell 发表于 2022-8-13 21:03
普通索引就行,没必要唯一索引
murongxu 发表于 2022-8-14 09:37
如果用户id和商品id不重复的话,可以尝试建立联合主键。
或者建立联合索引。
可以使用EXPLAIN分析sql文,当然这是表中的数据有关了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表