【发布时间】:2012-11-03 19:52:50
【问题描述】:
请看一下这张表:
http://www.mediawiki.org/wiki/Manual:Logging_table
如您所见,维基百科使用 varbinary 而不是 varchar:
| log_type | **varbinary**(32) | NO | MUL | |
| log_action | **varbinary**(32) | NO | | |
| log_timestamp | **binary**(14) | NO | MUL | 19700101000000 |
| log_user | int(10) unsigned | NO | MUL | 0 |
| log_user_text | **varbinary**(255) | | | |
所有这些信息都是文本,为什么要保存为二进制呢?
他们对所有表都这样做。
【问题讨论】:
-
Here 谈到 varbinary 使用的空间比 varchar 少。
-
@threenplusone - 这是在特定谜题的背景下。它不是通过将每个组件填充到 int 的最大长度来将字符串
1.2.3转换为'100000000011000000000210000000003',而是使用更紧凑的二进制表示0x020000000102000000020200000003
标签: mysql sql sql-server database database-design