分表登录

来源:16-4 【原理】ShardingSphere-JDBC执行引擎介绍

weixin_慕圣1052439

2024-02-27

老师请问两个问题:
第一个:如果我对用户表:user表进行分表,分成了user_0-user99张数据表,那么如果在进行登录的话,那么是不是每次登录或者进行用户注册的时候都会去一个表一个表的查询一遍才可以呢
第二个:老师 shardingJdbc的路由规则那块我有一点没想明白 如果我执行的sql语句是select * from t_user where name = “test”; 那在分表的情况下 因为配置的分片规则是user_id 所以shardingJdbc也没法通过name直接找到对应的是哪张分表中的数据 那是不是意味着 shardingJdbc会将t_user_01 t_user_99 所有的表全扫描一遍 才能知道name = "test"是在哪些表中 如果是这样的话 那大数据量的情况下 效率会特别低吧

写回答

1回答

Er十七

2024-02-29

同学你好:

1、用户表一定要考虑用户注册和登录时候的常用查询条件,如手机号,账号名称。那么优先考虑分片键使用他们。这样查询就可以按照分片键来查了。
2、如果查询条件非分片键,shardingJdbc确实就没办法直接确认到表,那么就需要每个表都查询一次。其实这个时候就需要考虑一些其他的存储了,比如根据name来搜的话,可以把数据存储到ElasticSearch中来查询。

0
1
weixin_慕圣1052439
好的老师
2024-03-01
共1条回复

Java主流分布式解决方案多场景设计与实战

本课程是一门关于分布式系统下常见的解决方案的课程

198 学习 · 52 问题

查看课程