gpt4 book ai didi

php - 多个客户表或大型整体表

转载 作者:行者123 更新时间:2023-11-29 12:50:57 25 4
gpt4 key购买 nike

我最近接手了一个链接到大型 MySQL 数据库的项目,该数据库最初是多年前设计的,需要一些帮助。

目前,数据库每个客户有 5 个表,用于存储用户信息、交易历史记录、日志等。但是,我们目前有约 900 个客户已申请使用我们的服务,平均每周有 5 个新客户申请。因此,数据库已增长到近 5000 个表,并且还在不断增加。我们的许多客户最终没有使用我们的服务,因此他们的表都是空的,但仍在数据库中。

最初的数据库设计者表示,它是通过这种方式创建的,因此如果表被泄露,它不会泄露任何其他客户端的信息。

当我用 PHP 重新设计项目时,我正在考虑重新设计数据库,以使用客户端唯一的 ID 来引用它们,以拥有整体用户、事务历史记录、日志等表。

这种方法正确还是数据库应该保持原样?

您是否发现任何可能的安全/性能问题

感谢您的帮助

最佳答案

您应该重新设计系统,使其只有五个表,并用一个单独的列来标识该行属于哪个客户端。 SQL 可以很好地处理大型表,因此您不必担心性能。事实上,在很多情况下,拥有很多很多表可能会妨碍性能。

这有很多优点。您将能够立即优化所有客户端的表结构。不再需要尝试向 300 个表添加索引来满足某些性能目标。管理数据库、管理表、备份——所有这些都应该通过单个表变得更容易。

您可能会发现数据库的大小甚至变得更小。这是因为,平均而言,这数千个表中的每一个都在末尾填充了半页。这将从数千个半页减少到只有一页。

唯一的缺点是安全性。对表进行安全保护比对表中的一行进行安全保护更容易。如果这是一个问题,您可能需要考虑这些要求。

关于php - 多个客户表或大型整体表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24727847/

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