php - SQL 每隔 15 分钟插入一次,大 MySQL 表

标签 php mysql

我对网络开发的大部分方面都相当熟悉,我认为自己是初级程序员。当我考虑应用程序扩展时,我总是很焦虑,并且想了解更多有关它的信息。让我们假设一个情况。

我正在开发一个 Web 应用程序,它以 15 分钟的间隔轮询设备并获取大约 2kb 的 XML 数据。此数据必须存储很长时间(至少几年?)。现在假设这个 Web 应用程序有 100 个用户,每个用户都有这个设备。

10 年后,我们正在谈论数千万的表格行。对于 100 个用户,我们有一个 cron 作业,它查询每个用户的设备,获取 2kb 的 XML,并每 15 分钟将其插入到 SQL 数据库中。

假设我的查询相对简单,只收集必要的列,使用连接并避免子查询,是否有任何理由不能扩展?

最佳答案

插入通常不会随着表变大而变慢,但索引更新可能需要更长的时间。在某些时候,您可能希望将表格分成两部分。一个用于存档存储,针对数据检索进行了优化(基本上是对其进行索引),第二个表用于处理较新的数据,针对插入进行了更多优化(较少的索引)。

但一如既往,唯一确定的方法是对事物进行基准测试。设置一些包含几千行的克隆表,以及一些包含数百万行的克隆表,看看会发生什么。

关于php - SQL 每隔 15 分钟插入一次,大 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6713423/

相关文章:

php - 编辑文件中的php代码和变量

php - 本地化的州/省数据

java - 从 Spring Boot 运行 mysqldump

mysql - 检查新用户名是否不在两个单独的表中

php - 通过ajax正确显示MySQL和PHP中的汉字

PHP:MySQL 选择多个Where

php - 如何在发生时从 php 获取实时输出?

php - Apache/MySQL 问题

php - 我需要帮助创建 SQL 查询

MySQL - 如何将 LIMIT 应用于 GROUP?