2012-03-20 96 views
0

我正在开发一个使用PHP和MySQL的Web应用程序。我想知道有什么方法可以在MySQL中尽可能保存数据尽可能小?有没有什么办法可以将数据保存为尽可能小mysql

+1

你想在硬盘上节省空间吗?你会有疯狂的日期存储的数量?你会在该日期前索引吗?你需要什么精度?天,秒,分,纳秒?您想存储的最小/最大日期? – biziclop 2012-03-20 07:24:47

+0

小尺寸或长度? – 2012-03-20 07:26:16

+0

@biziclop不,我只是想要小数据文件 – 2012-03-20 07:26:59

回答

2

这里是MySQL中的日期类型的长度,选择适合您的需求。通过将列定义为NOT NULL,您可以节省1个字节。

http://dev.mysql.com/doc/refman/5.1/en/storage-requirements.html说:

Storage Requirements for Date and Time Types 
Data Type Storage Required 
DATE  3 bytes 
TIME  3 bytes 
DATETIME 8 bytes 
TIMESTAMP 4 bytes 
YEAR  1 byte 

如果你的MySQL引擎是跟上时代的话,你可能要检查出InnoDB的行压缩(这可能使数据库操作,虽然速度较慢):

1

如果节省空间,您可以尝试查看mysql的“ARCHIVE”引擎。它确实有一些限制,因为你只能在表上有1个索引,并且你不能在数据到达之后“更新”数据,但是它对于(正如名字所暗示的)数据归档非常快速和有用。

也可能有其他方法来节省空间 - 就像压缩字段本身的数据一样,但这需要特别小心,特别是如果您打算在这些压缩字段上进行搜索。

相关问题