我想知道您对将聊天消息存储在数据库中有何看法?
我需要能够将其他内容绑定到它们(例如文件或联系人),并且使用数据库是我目前看到的最佳方法。
文件也有同样的问题,因为它们可以绑定到聊天消息,我也必须将它们存储在数据库中。
对于数千条消息和文件,我想知道性能下降和数据库大小。
考虑到我将 PHP 与 MySQL/Doctrine 结合使用,您有何看法?
我认为只要正确构建数据库,就可以在数据库中存储任何文本信息(名称、消息历史记录等)。我曾在大型网站(每天的访问量达到数公斤)和电信公司工作过,这些公司将用户信息(包括流量统计数据)存储在数据库中,这些数据库已发展到数百GB,并且应用程序运行良好。
但是,对于像图像和文件这样的二进制信息,最好将它们存储在文件系统上,并仅将它们的路径存储在数据库上,因为从磁盘上读取它们比将数据库进程与读取多个数据绑定起来要便宜。兆字节文件。
正如我所说,做几件事很重要:
正确构建信息 - 正确设计数据库、将其正确划分为表并将表划分为字段并考虑到您的性能目标非常重要,因为这将构成您的应用程序和查询的基础。如果弄错了,你的查询就会很慢。
对与每个表相关的表引擎做出正确的决定。这是重要的一步,因为它将极大地影响查询的性能。例如,MyISAM 在更新表时会阻止对表的读取访问。对于社交网络或新闻网站等 Web 应用程序来说,这将是一个问题,因为在许多情况下,您的用户基本上必须等待信息更新完成才能看到生成的页面。
创建适当的索引 - 对于性能非常重要,特别是对于具有快速增长的大型数据库的应用程序。
随着数据的增长衡量查询的性能并寻找改进方法 - 您总会发现必须消除的瓶颈,这是一个持续不断的过程。每个流行的 Web 应用程序都必须这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)