就是这样的,我想开发一个母婴店的进销存(我知道进销存包含很多东西,不过这不是我讨论的重点,姑且不要管我要开发的进销存有复杂)。我们就当做是一个简单库存管理,出库入库,统计库存,商品档案,也即是1个商品档案表+1个库存流水表,就这样好了。
然后我遇到一个这样纠结的事情:
我是打算数据库放阿里云上,然后每个客户都是客户端连接上服务器,每个客户有自己的ID,可以自行注册试用我的母婴软件,合适了就付款购买,按年付费。
那现在数据库设计,有2种思路:
①只有1个数据库,一共2个表,表里的都有一个用户ID的列,来区分数据是谁的。将来我有1w个用户了,我还是只有2个表。100w个客户,我还是只有2个表。如果每人1个商品,商品档案表里都有100w行东西,每人100个商品就10000w行数据,用户越来越多后,每次遍历提取数据,查询性能会急剧下降。但是我开发和查询更新都很方便,只需要针对1个数据库
②每个用户自己1个数据库,注册一个用户,就自动新建1个数据库,1个用户就2个表。那我1w个用户了,就有1w个数据库,每个数据库里只有2个表。好处是,那个sb客户乱操作,或者搞得乱七八糟,我只要删了这个数据库,世界都清净了,不会影响其他客户,而且查询性能不会急剧下降。但是,我维护起来很麻烦,例如更新表结构,我要全部更新,然后狐表也是,也弄多少个客户端版本,让客户去连接自己对应数据库啊?
你们开发那些公开使用的网站,不也是面向全互联网的陌生人吗?这么多用户?也是一个数据库撑完了?
还是有大神有更加厉害的①+②混合动力思路?
[此贴子已经被作者于2016/11/28 18:03:17编辑过]