我在MySQL中构建了一个中等大小(100,000条目)的表,我试图优化它的速度。这些条目包含一些事务性数据,这些数据显然会保存在MySQL中。其余的数据在表的生命周期中不会改变,也不适合表格格式(即一些条目将包含其他条目不会的字段,导致很多'空'值)。此外,第二部分的大部分数据都会重复,这意味着可能只有500-1000个独特的数据集,然后与表中的条目配对。大数据量重复数据的MySQL数据库优化
我在考虑三种组织数据的方法。 1)以表格格式保留MySQL中的所有数据。 2)序列化非唯一数据并将数据保存在单个MySQL字段中。 3)序列化非唯一数据并保存到硬盘中的文件中,由MySQL表中的指针引用。
我的问题是你会推荐哪种格式,为什么?考虑到我将在数据库上运行很多查询,哪一个会最快?
数据的例子会有很大的帮助。最重要的问题是:“你打算如何使用它?” –
也许一个更简单的方法是,表中的每个条目都是更大类型对象的子类。我将存储MySQL中子类实例所特有的所有变量,因为我需要频繁搜索和更新这些变量。但是我还需要读取(而不是写入)对大类拥有的变量的访问。 –
例如,我有对象A,B和C.条目1,2,3,4和5是A,B和C的实例,其中1-> A,2-> A,3-> B, 4→B和5→C。存储所有A实例共有的数据的最佳方式是什么? –