orderby编号和时间戳字符串之间的mysql差异

orderby编号和时间戳字符串之间的mysql差异,mysql,sql,Mysql,Sql,A: 发布时间为int'2504698546' select * from my_tbl order by publish_time desc B: 发布时间为时间戳“2017-01-01 23:10:23” select * from my_tbl order by publish_time desc 哪个更准确? 就速度、内存消耗和CPU而言,首先,与排序的总体成本相比,速度上的任何差异都可能很小。第二,就像任何这类双关语的问题一样,你应该在你的系统上测试你的数据 如果没有索引,可能没有

A: 发布时间为int'2504698546'

select * from my_tbl order by publish_time desc
B: 发布时间为时间戳“2017-01-01 23:10:23”

select * from my_tbl order by publish_time desc
哪个更准确?
就速度、内存消耗和CPU而言,首先,与排序的总体成本相比,速度上的任何差异都可能很小。第二,就像任何这类双关语的问题一样,你应该在你的系统上测试你的数据

如果没有索引,可能没有比4字节整数更快的排序方法。这意味着第一个更快。时间戳还有一个额外的复杂性:时区。我怀疑比较两个时间戳比比较两个整数要复杂一点

如果你有一个合适的索引,所有这些考虑因素几乎都消失了。这才是真正的道德。如果您关心性能,请不要尝试进行微观优化,例如在日期/时间值的两种表示形式之间进行选择。相反,要考虑索引、分区、正确的数据表示和可靠的查询逻辑