欢迎分享,转载请注明来源:内存溢出
我举一个例子:有的OA系统是要公司客户自己有服务器,然后装到客户的服务器上。可是客户嫌麻烦,所以我想将OA系统(PHP+Mysql)放在自己的服务器上,让公司客户及其员工来注册使用。那么问题来了,原来在客户自己的服务器上数据库也就十几张表,但都放到我的服务器上,每注册一个公司就得增加十几张表,那如果有一万家公司注册数据库不得有几十万张表?跟楼主一样的问题,有一些老牌厂商早就给出来完美答案了,比如华为、天翎都有过类似的问题,这些企业提出的解决方案就很不错,就针对上面的问题,最简单的办法是给每张表加个实例ID,一个公司对应一个实例ID,然后在你的MVC架构中跟DB最近的这一层加个拦截器,每个SQL查询都自动带上实例ID,这样不用对代码做很大改动。后期再根据需要优化,哪些公司合用一张表,哪些单独占用一张表甚至一个数据库,总之具体问题具体对待,需要在运营的过程中根据用户量和业务情况来分析采取对策。看样子你已经做的差不多了。在你确定了模块以后,建表是比较容易的。最好的办法,是你画出ER图,然后确定用户群体范围,做好权限,资源控制。你要根据你自己的项目需求,对应其用户实体去建立你的表。自己动手试试看,我要是帮你写了,首先是耽误你学习,其次也不一定能完整的应用到你的系统中去。甚至可能导致你的系统以后扩展碰到麻烦。毕竟,我只能给出你一个思路。
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
如何在NCBI上下载资料
上一篇
2023-05-03
oracle中如何新建一个数据库
下一篇
2023-05-03
评论列表(0条)