gpt4 book ai didi

database-design - Web 应用程序中的数据库设计技巧

转载 作者:行者123 更新时间:2023-12-04 06:56:16 25 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




有人对 Web 应用程序的数据库设计有任何提示/建议吗?当/如果我正在处理的应用程序开始使用并开始大量使用时,这种东西可以为我节省大量时间/精力。

更具体地说,该应用程序是一个策略游戏(基于浏览器,只是文本),主要涉及玩家发出“订单”,这些“订单”将存储在数据库中并稍后处理,结果也存储在那里(历史“订单”的数量和相应的结果可能会变得相当大)。

编辑添加更多细节 (按照要求):

平台:Django

数据库引擎:我正在考虑使用 MySQL(除非使用另一个有很大的优势)

架构:我现在拥有的只是一些 Django 模型,太多细节无法在此发布。如果我开始 Release模式,这将变得过于具体,我正在寻找一般提示。例如,考虑我发出稍后将被处理的“订单”并返回我必须存储以显示某种“历史”的结果。在这种情况下,最好为“历史”设置一个单独的表,还是只汇总“订单”和结果的一个表?我想我可以缓存“历史”表,但这会在数据库中占用更多空间,也会占用更多数据库操作,因为我必须不断创建新行,而不仅仅是在聚合表中更改它们。

最佳答案

您可能已经触及了一个更大的问题,即设计高可扩展性和一般性能。

本质上,对于您的数据库设计,我会遵循良好的做法,例如向您希望经常使用的数据添加外键和索引,通过将数据拆分为较小的表来规范化您的数据,并确定哪些数据将被频繁读取,哪些将被读取经常写和优化。

比高性能 Web 应用程序的数据库设计更重要的是,通过 HTML 页面缓存在客户端级别和服务器级别通过缓存数据或提供静态文件代替动态文件有效地使用缓存。

缓存的伟大之处在于它可以根据需要添加,这样当您的应用程序真正起飞时,您就会相应地发展。

就您的历史数据而言,这是一个很好的缓存,因为您不希望它经常更改。如果您希望从您的数据中生成定期且相当密集的报告,那么最好将此数据放入另一个数据库中,以免您的 Web 应用程序在运行时停止。

当然,这种优化真的没有必要,除非您认为您的应用程序会保证这样做。

关于database-design - Web 应用程序中的数据库设计技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com