将日期存储为 INT 并来回转换字符串表示形式(如“2010-01-30”)是否更有效,或者在需要执行非常频繁的整数查询时将日期存储为 DATE 是否合适,例如WHERE Date < 20100130 ... 日期在内部存储为字符串还是整数?
最佳答案
DATE 实际上只是一个 3 字节的列,与 4 字节的普通 INT 列相反,因此实际上更小。当您在 DATE 字段上进行查询时,当您传入日期的整数表示时(即`date` < 20100210),它将被转换为 3 字节值并以这种方式进行比较......然后同样,DATE 字段将只存储日期而不存储时间信息。
将日期存储为 DATE 会更有效率。
有关更多信息,请查看此处:http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html
关于mysql - 对 MySQL DATE 或 TIME 列的整数查询速度慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2169821/