当前位置: 首页 > 知识库问答 >
问题:

MYSQL按日期还是主键排序?

麻宜春
2023-03-14

我有一个带有自动增量主键列和datetime列的表。我想返回按创建日期排序的行。

我按日期或主键订购有关系吗?我想这是一个更快的by主键,而不是日期格式0000-00-00:00:00或时间戳。新记录将具有更大的主键。然而,每个人都按日期字段排序。

共有1个答案

林哲茂
2023-03-14

按日期字段排序,但确保在日期字段上放置索引。

日期字段是二进制字段,它与主键一样快。(日期是3个字节,而整数主键是4。)它不会像你想象的那样使用字符串来排序。

更重要的是,它表明了您的意图(此外,主键也可以环绕)。

此外,如果使用innodb,主键完全有可能不按顺序排列,这取决于事务如何交错。

此外,如果您擅长阅读查询计划,请将日期列添加到用于查询的同一索引的末尾。但是,这仅适用于特定情况,因此仅在您知道它会有所帮助时才这样做。即不要盲目地做。

 类似资料:
  • 问题内容: 某些SQL Server允许使用通用语句,例如。我认为这不适用于MySQL,是否有任何这样的解决方法可以跨多个表进行自动选择,还是需要使用查询查询来确定主键? 我一直在解决的方法是在运行查询之前调用。有更有效的方法吗?在选择过程中,MySQL可以确定表的主键吗? 更新: 正如Gordon所指出的那样,通常在MySQL或SQL中没有官方的方式来执行此操作。SAP具有自定义功能。有一些解决

  • 问题内容: 现在我用下面的查询按每篇文章的auto_increment id进行即时排序 我想知道如何按我创建的日期字段排序,该字段通过strtotime()存储当前日期,它应该查询从最新到最旧的日期。 当前代码 问题答案: 只需更改ORDER BY中的列即可:

  • 问题内容: 我有一个json数组,我尝试 按日期对它 进行 排序, 然后再附加它。 该数组如下所示: 目前, 我已经设法对 日期 数组 进行了如下 排序 : 这给了我: 但 我不确定如何对 包含多个键 的复杂数组执行相同的操作 。我知道 我应该先将日期格式设置为YYYY-MM-DD, 但之后会有点混乱。 一个良好的开端将是我目前在jsbin上找到的内容:http ://jsbin.com/ipat

  • 问题内容: 我想按日期订购。 例如 我已经尝试过: 伯,这是行不通的。 我得到这个代替: 你能帮我吗? 问题答案: 如果要按日期排序, 请将其存储为日期而不是字符串。 除非您的日期字符串的格式为,否则它不会按您希望的顺序排序。 数据库可以按原样进行足够的工作,而无需人们加倍努力,因此,您应该尽可能地避免我喜欢的 SQL体操。 将其存储为日期,然后(如果需要)使用日期函数以形式获取它。 这样会比您尝

  • 问题内容: 我知道这一定是相对简单的,但是我有一个JSON数据集,我想按日期排序。到目前为止,我无处不在遇到问题。现在,我将日期存储为。如果有帮助,我可以访问jquery,但是我意识到.sort()是本机JS。提前致谢。 问题答案: 假设您有一个javascript对象数组,只需使用自定义排序功能即可: Array 方法使用回调函数对数组进行排序,该回调函数传递给数组中的元素对。 如果返回值为负,

  • 问题内容: 我正在尝试按日期顺序显示文件数组(最后修改)。 我已经完成了遍历数组并将其排序到另一个数组中的购买循环,但是有没有更简单(更有效)的方法来做到这一点? 问题答案: *从PHP 7.2.0开始, *警告 已被弃用。强烈建议不要使用此功能。 为了后代的目的,如果在接受的答案中链接的论坛帖子丢失或不清楚,则所需的相关代码为: 在我的系统上对此进行了测试,并验证了它确实可以根据需要按文件mti