问题描述
|
假设我有三种状态:
\"PENDING\"
\"CANCELLED\"
\"REVIEWED\"
当我将它们作为标志存储在App Engine表中时,是否应该将它们存储为字符串,以便在查看表中的原始数据时可以轻松弄清楚是什么意思?
还是如果我将报表表示为整数,则在运行报表时对于数据库而言效率更高?
int PENDING = 1;
int CANCELLED = 2;
int REVIEWED = 3;
解决方法
整数,数据库中有一个引用表,该表存储整数到字符串的关系。如果您要扩展表,则希望每一行都尽可能小。
, 以字符串存储的1.3亿条记录需要1Gb,每月费用约为0.15美元。将其保存为整数所需的时间要少两倍(从我当前的数据存储区统计信息中可以看到)
因此,这取决于您,如果您想节省几分钱,最好将它存储为整数,如果您希望它更具可读性-使用字符串。