我正在从一个服务接收XML数据。我收到的测试数据大约有300个XML节点,显然太多了,无法在MySQL数据库中创建单独的行
问题是,理想情况下,我们需要存储所有的数据,并且我们可能需要在将来的某个时候再次引用数据-我们不能只处理一次数据并删除XML字符串
在MySQL数据库中存储这些数据的最佳方式是什么
我曾预测,按照预测的速度,在几个月内,如果我们以TEXT格式存储原始XML数据,数据库可能会增长到500MB左右。从长远来看,这似乎不切实际
您可以创建一个blob列(即mediumtext列)。您可以压缩XML,然后将其存储在MySQL中,而不是将XML纯粹作为字符串插入数据库中
当您从MySQL中读取时,您将再次解压缩它。由于XML是文本,您将获得非常高的压缩率(接近80%的压缩率)。其思想过程是,磁盘IO比压缩/取消压缩所需的时间要长得多,压缩/取消压缩主要受处理器限制
缺点是您将无法再使用SQL进行查询或全文搜索