我正在设计一个系统,通过深入研究数字,我意识到它可以达到这样一个点,即每年(大约)可以有一个包含 54,240,211,584 条记录的表。哇!!!!
因此,我将其细分为 73,271,952 条记录/年(大约)。
我通过运行
一些excel
来
获得
数字成功=不
考虑到该表用于 SELECT、INSERT、UPDATE 和 JOIN 语句,并且这些语句将由登录到系统的任何用户每小时/每天/每周执行一次(历史数据不是一个选项):
问题1:第二个数量是否适合/方便MySQL引擎,这样性能会受到很小的影响???
问题 2:我将表设置为 InnoDB,但是考虑到我使用 JOINS 处理所有语句并且我愿意遇到 4GB 限制问题,InnoDB 有用吗???
表格快速概览:
表格 #1:用户/事件购买。最多 15 列,其中一些为 VARCHAR。
表#2:购买门票。最多 8 列,仅 TINYINT。主键 INT。每个表 #1 插入插入 4 到 15 行。
表#3:按票项目。4 列,仅 TINYINT。主键 INT。每个表插入 3 行 #2 插入。我想把它作为一个单独的桌子,但如果有人必须死......
表#3 是问题的目标。我减少到第二个数量的方法是使每个表#3 的行成为表#2 的列。
我不想做的事情,但如有必要,我会按周对表进行分区并向应用程序添加更多逻辑。
每个答案都有帮助,但更有用的是:
i)33,754,240,211,584:不,所以让我们放弃最后一个数字。
ii) 3,375,424,021,158:不,所以让我们去掉最后一个数字。
iii) 337,542,402,115:不,所以让我们去掉最后一个数字。依此类推,直到我们得到类似“嗯,这取决于很多因素......”
我会认为“对性能影响很小”吗???最多 1,000,000 条记录,执行查询不超过 3 秒。如果 33,754,240,211,584 条记录大约需要 10 秒,那对我来说非常好。
为什么我不自己测试一下???我想我没有能力做这样的测试。我要做的就是插入该数量的行并看看会发生什么。我更喜欢 FIRST 已经知道类似事情的人的观点。记住,我还在设计阶段
提前致谢。