最重要的是什么;“有效空间”;在MySQL中存储文本的方法?
我在最重要的是什么;“有效空间”;在MySQL中存储文本的方法?,mysql,sql,optimization,Mysql,Sql,Optimization,我在InnoDB表格中有超过1000万篇文章(200到1000字)。我仅在处理文章字段时使用此类型的查询: SELECT article,title,other_fields from table where id=123; 在MySQL中存储文本最“节省空间”的方式是什么? 现在表的大小是100GB,我的目标是在不造成太多性能折衷的情况下使其尽可能小。MyISAM比InnoDB更便于空间使用,您可以从这个开始。根据内容的不同,使用一种聪明的无损压缩算法,您可能会得到一些好的/有用的结果。除此
InnoDB
表格中有超过1000万篇文章(200到1000字)。我仅在处理文章
字段时使用此类型的查询:
SELECT article,title,other_fields from table where id=123;
在MySQL中存储文本最“节省空间”的方式是什么?
现在表的大小是100GB,我的目标是在不造成太多性能折衷的情况下使其尽可能小。MyISAM比InnoDB更便于空间使用,您可以从这个开始。根据内容的不同,使用一种聪明的无损压缩算法,您可能会得到一些好的/有用的结果。除此之外,您可以将文本分组成批,并将其压缩,以获得更好的结果,而不会导致性能显著下降
这都是关于空间/速度的比例。正如其他人所指出的,innodb是一种选择 不过,您需要确保您的file_format系统参数设置为Barracuda。如果试图更改以压缩行格式(其中行格式是默认的羚羊格式),则可能会导致浪费表的重新生成,只会警告您不支持行格式 我发现各种数据集上的压缩不是很好,会带来大量cpu开销,特别是在涉及连接的情况下会影响性能
我一直在试验mysql存储引擎,它似乎能以更快的速度提供更好的压缩比,还有其他好处(例如快速在线模式更改)。SELECT不“存储”。你的意思是“显示”吗?我不是本地人,但可能你误读了这个问题?是的,代码的包含确实让我发疯了,对不起。好吧,我刚刚添加了一个例子。删除没有人再读的旧文章?