gpt4 book ai didi

php - MySQL数据库针对大量重复数据的优化

转载 作者:行者123 更新时间:2023-11-30 01:23:15 27 4
gpt4 key购买 nike

我正在 MySQL 中构建一个中等大小(100,000 个条目)的表,并且我正在尝试优化它的速度。这些条目包含一些本质上是事务性的数据,这些数据显然会保存在 MySQL 中。其余数据不会在表的生命周期内发生变化,也不太适合表格式(即某些条目将包含其他条目不会包含的字段,从而导致大量“空”值)。此外,第二部分中的大部分数据都会重复,这意味着可能只有 500-1000 个唯一数据集,然后与表中的条目进行配对。

我正在考虑三种组织数据的方法。1)将MySQL中的所有数据保留为表格式。2) 序列化非唯一数据并将该数据保存在单个 MySQL 字段中。3)将非唯一数据序列化并保存到硬盘中的文件中,由MySQL表中的指针引用。

我的问题是您会推荐哪种格式,为什么?鉴于我将在数据库上运行许多查询,哪一个最快?

最佳答案

听起来您正在描述一个规范化的数据库。这是非常标准的。您将把“更大”的实体作为带有 id 的单个表。

对于更大量的数据,您将拥有对该 id 的引用,称为外键。这就是关系数据库设计的结构。 “关系”的部分含义是实体之间的关系。

如果您只有几十列,我不会担心某些行中的某些值为 NULL,而其他行中的其他值为 NULL。如果您有多种类型的实体,那么您也可以在数据结构中反射(reflect)这一点。

编辑:

标准化对性能既有好的影响,也有坏的影响。在减少数据大小的情况下,性能通常比非规范化数据更好。如果您有适当的索引结构,那么规范化的数据结构通常工作得很好。

关于php - MySQL数据库针对大量重复数据的优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18303135/

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