我对网络开发的大部分方面都相当熟悉,我认为自己是初级程序员。当我考虑应用程序扩展时,我总是很焦虑,并且想了解更多有关它的信息。让我们假设一个情况。
我正在开发一个 Web 应用程序,它以 15 分钟的间隔轮询设备并获取大约 2kb 的 XML 数据。此数据必须存储很长时间(至少几年?)。现在假设这个 Web 应用程序有 100 个用户,每个用户都有这个设备。
10 年后,我们正在谈论数千万的表格行。对于 100 个用户,我们有一个 cron 作业,它查询每个用户的设备,获取 2kb 的 XML,并每 15 分钟将其插入到 SQL 数据库中。
假设我的查询相对简单,只收集必要的列,使用连接并避免子查询,是否有任何理由不能扩展?
最佳答案
插入通常不会随着表变大而变慢,但索引更新可能需要更长的时间。在某些时候,您可能希望将表格分成两部分。一个用于存档存储,针对数据检索进行了优化(基本上是对其进行索引),第二个表用于处理较新的数据,针对插入进行了更多优化(较少的索引)。
但一如既往,唯一确定的方法是对事物进行基准测试。设置一些包含几千行的克隆表,以及一些包含数百万行的克隆表,看看会发生什么。
关于php - SQL 每隔 15 分钟插入一次,大 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6713423/