写点个人愚见,可能在名词上有错误,但是不会有歧义,也算是抛砖引玉了。
我们先暂定为50个客户端。
因为数据库是基于事务的,所以即便50个客户端同时操作一个表,数据库也会根据事务的先后顺序进行执行,所以在数据库层面,不会出什么问题(但效率惨不忍睹)。
在客户端层面,涉及业务比较多的就是:insert,update,delete和select,这里用i,u,d,s来简化代替。
问题可能出现的点:
1。客户端的逻辑判断:
要避免出现:a客户端d了一条数据,b客户端还要u这条数据;或者,表里面有我们自定义编码的字段,那么多客户端同时插入同类型数据的时候,自定义编码应该如何计算,如何避免冲突;诸如此类的逻辑判断上要捋顺。
2。客户端效率:
我们每做一次i,u,d,s操作,其实就是一次I/O操作,服务器是有I/O上限的,如果频繁的i,u,d操作,客户端势必会感觉到卡顿,所以客户端要在i,u,d的频次方面与数据显示的准确度方面做一个平衡;s的操作相对来说更要命,首先,查询语句中如果运算多,查询的记录数多,势必会占用更多的I/O,此时,客户端势必会变得卡顿,这里建议做一些数据库冗余,比如我们将一些流水的东西,汇总后写到另外一个表里面,这样查询的时候,我们就查询汇总表,这样