关于用户表根据userId分库后根据userName查询问题的思考

随着业务的持续增长,注册用户不断增长,查询压力越来越大,亟需对用户表进行拆分。
采用最常规的拆分方法,对userId进行取模运算,根据取模结果,数据落到不同的库中
在这里插入图片描述
这样一来,数据就分散了,大大降低单库的数据量,可以实现数据扩容,根据userId查询时需要先对userId进行取模运算,以决定需要从哪个库查找,查询过程如下
在这里插入图片描述
例如有个userId为157,根据流程,157%3 = 1,它应该查询u_db1库
但是如果根据userName查询,那么问题就不这么简单了,因为事先并不知道userName落在哪个库,只能一个一个库去查询,当库比较少的时候,尚可接受,但是库多了,性能必定受影响很大。
怎么办呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于设计一个web设计网上商城的数据库和数据,我们需要考虑商城所需的模块和功能。以下是可能的数据和内容的设计示例: 1. 用户(User) - 用户ID(UserID) - 用户名(Username) - 密码(Password) - 邮箱(Email) - 手机号码(Phone) - 地址(Address) 2. 商品分类(Category) - 分类ID(CategoryID) - 分类名称(CategoryName) 3. 商品(Product) - 商品ID(ProductID) - 商品名称(ProductName) - 价格(Price) - 库存(Stock) - 分类ID(CategoryID) 4. 订单(Order) - 订单ID(OrderID) - 用户ID(UserID) - 订单日期(OrderDate) - 商品ID(ProductID) - 数量(Quantity) 5. 购物车(Cart) - 购物车ID(CartID) - 用户ID(UserID) - 商品ID(ProductID) - 数量(Quantity) 除以上之外,还可以根据具体需求设计其他如评价、收藏等。 对于显示的内容,我们可以分为前台(用户界面)和后台(管理员界面)两部分: 1. 前台显示内容: - 首页展示热门商品、特惠促销等信息; - 商品分类列展示所有分类及其对应的商品数量; - 商品详情页展示具体商品信息、价格、库存等; - 用户登录/注册页面,显示用户名、密码、邮箱等输入框; - 用户购物车页面,展示用户已添加到购物车的商品列; - 用户订单页面,展示用户的订单列和订单详情等。 2. 后台显示内容(管理员界面): - 商品管理页面,包括添加、编辑、删除商品信息等; - 订单管理页面,显示所有订单列和订单详情,方便管理员进行处理; - 用户管理页面,用于管理用户的注册信息,如禁用用户、删除用户等。 以上是一个简单的示例,实际的数据库和数据设计可能会更加复杂,根据具体需求来决定具体的设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值