我正在设计一个可能小于100 MB 的基础,拥有自己的服务器,并将通过Intranet Java EE Web应用程序进行读取和修改。我已经找到了很多关于优化大型基础的参考资料,我知道这是一个更为关键的问题,但我有很多时间,读取/插入速度是项目优先级,我很确定我不知何故,可以利用如此小的总db大小。当然,除非MySQL已经针对那种小型基准进行了自然优化。
当然,它确实适合内存,但我需要将其数据实际保留在磁盘上,或者至少不久保存到磁盘;我已经想到了一些疯狂的替代方案,比如在第一次需要时(在用户连接时,可能?),以某种方式顺序将整个基础加载到内存中,并稍后将其提交到磁盘。
但我觉得最好在这里问一下,看看有人之前是否遇到过这种情况,并且有一个不错的想法可以从小基数中获利。
我认为在数据库访问方面更多而不是结构,但是如果某人有针对小型基础的结构设计技巧并且认为他们使访问优化问题完全无关紧要,那说明可能也是一个恰当的回应。
提前致谢。
编辑:应用程序有点关键,在我完成之后,它将由主要用于MySQL的人开发,因此不同的DBMS不是一个选项,除非他们的版本类似于MySQL 的
答案 0 :(得分:1)
数据库是为了处理这类事情而设计的,因此大多数基础设施都适合您。
责任在于你:
根据数据,volumn和dbms创建适当的索引。
规范化数据。
应用良好的验证 - 非空,独特等。
使用解释计划查看如何加快查询速度 - 每种情况都有所不同。
使用缓存来提高性能。
确保所有表都定义了唯一的主键(显然可能,但仍然需要)。
答案 1 :(得分:0)
你可以试着看看膜 - 我告诉你关于性能和持久性的非常好的事情。本质上是一个记忆"数据库"它会被持久化到磁盘上。