我有一个在线服务(在线词汇培训师)。每个用户都有自己的词汇。大型数据库
现在,我不知道,我应该如何构建我的Mysql-DB。
据我所知,我有不同的可能性:
一切都在一个表(MyISAM数据):我店所有的词汇在一个大的MyISAM表,并添加一列“用户id”,以确定每个用户的词汇表
每个用户都有自己的表(MyISAM):每次创建用户时,程序会添加一个名为“vocabulary_ {userid}”的表,其中{userid}用于将表连接到一个用户。
在一张表(InnoDB)中的所有内容:像第一点一样,但用InnoDB代替MyISAM。
问题是,一个大的词汇表最多可以达到1亿行。使用MyISAM,问题是每个查询都会锁定整个表。所以我想,如果有很多用户在线(并发送很多查询),表格可能会被锁定很多。对于InnoDB,我不确定,因为我有很多SELECT-,UPDATE-和INSERT-命令,所以这是一个很好的解决方案。
我希望任何人都可以帮助我。先谢谢你。
我想不出比#2更糟糕的选择。 – JJJ
我质疑关系数据库是否适合这个问题,而不是我是这个问题的专家。 – jpmc26
我想不出比Juhana更好的答复。 – GolezTrol