问题描述
- 数据量非常大可以针对每个注册用户去建表吗? 3C
- 类似于那种SNS网站,因为1、注册用户特别多,2、用户的讨论交流特别多(如果一个用户发出的话题数量超过上千条)如果按照常规做法,我们是建立一张关系表用来保存所有的用户id和话题id .create table student_topic(student_id int(32)topic_id int(32)),那么若要找某个用户对应的话题时,就需要遍历这张非常大的student_topic表,并且此表是会不断跟新增加的,所以可以针对每个用户去为他们建立属于他们的student_topic表吗?
解决方案
应该是会分表,但不会每个用户都建立一个属于自己的表,100万个用户建100张表?很多用户没有那么多讨论交流的信息的。
解决方案二:
简单的就是分表,比如用户根据ID对一个数取余,然后决定这个用户的信息放在哪个表,查询的时候也是根据这个反过来查询对应的表,就不用在一个表中查询
解决方案三:
分表,如果还是查询比较慢的话,建议用全文搜索引擎,如solr、Elasticsearch 等
时间: 2024-11-03 02:57:44