我正在Windows服务器上使用JavaScript、MySQL和PHP进行远程访问。
我有5,000个结构相同的数据集,我想放在一个数据库中。对于数据来说,5个表就足够了,所有这些表都会相当小,除了一个具有典型数据集的300,000+记录的表之外。
此外,500个用户将获得从这些数据集编译的统计数据的只读访问权。这些统计数据由PHP提供(不允许直接访问)。而且,他们对数据的访问也各不相同。一些用户只能使用一个数据集,而另一些,一些,全部。
用户看到的结果相对较小;大多数请求返回的行数远低于100行,最大的请求将大约为700行。所有请求都是通过一个JavaScript RIA来实现的,后者使用Ajax连接到PHP,然后连接到数据,然后执行它的操作并输出JSON响应,然后JavaScript相应地给出相应的JSON。
在考虑如何构造这一结构时,有三种选择:
我倾向于第二,有几个原因。
这是我的想法,但我想要你的。你认为这是正确的选择吗?若否,原因为何?我错过了什么考虑?如果规模能力是一个问题,我应该考虑其他平台吗?
发布于 2012-11-15 19:46:31
1)我关心使用大型表的问题(例如:查询速度、实现限制等.)。
数据库管理系统是否必须..。
就性能而言,...probably并没有带来多大的差异。如果有的话,第二个案例有一个没有文档的组件(定位正确表的性能),所以我不愿意完全信任它。
如果您想对数据进行物理分区,请从5.1版开始使用MySQL 直接支持,这样您就不必通过单独的表来模拟数据了。
2)单独的表似乎更安全;它们限制了错误和结构更改的影响。
这就是备份的目的。
3)单独的表允许我使用MySQL的表级安全性,而不是实现自己的行级安全性。
确实如此,但是可以通过视图或存储过程实现类似的效果。
总之,我的直觉是使用单一的表,除非你事先知道这些数据集在结构上有足够的不同,因此需要独立的表。顺便说一句,我怀疑与优化良好的数据库相比,您是否能够更好地使用专有格式。
https://stackoverflow.com/questions/13402798
复制相似问题