mysql - 按顺序使用主键的性能成本

标签 mysql

假设我有一个包含三列主键的表。如果我从该表中全选而没有任何order by 子句,据我所知,它们是按这些列排序的。第一个,在第二列内,在第三列内。

通过显式添加一个 order by 子句,三列按照它们作为主键的一部分的顺序,是否有任何额外的成本,或者可能有性能提升?

最佳答案

If I select all from that table without any order by clause they are, occurring to my understanding, ordered by these columns

你的理解有误。如果没有order by,数据库引擎可能会以它选择的任何顺序输出结果。事实上,如果您要在另一个字段上添加聚簇索引,很可能会更改结果的顺序。

Is there any additional cost, or perhaps performance gain

订购永远不会提高性能(除非您正在做 effects branch prediction 的事情)。如果数据库将以这种方式排序,则不会产生任何成本。但是,如果您未指定顺序,则可能存在正确性问题。

关于mysql - 按顺序使用主键的性能成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38232036/

相关文章:

php - 如何只显示一个重复项?

MySQL 删除 NULL 问题

mysql - 如何优化此 MySql 查询 - 连接 3 个表?

MYSQL 嵌套查询到 Laravel Eloquent ORM

php - 如何在MySQL中搜索包含330M行的60G表?

mysql - 两个 Laravel 应用可以使用同一个数据库吗?

php - 如何将图片路径和名称上传到数据库 - Codeigniter

mysql - 具有多个选择语句的复杂 MySQL 查询

mysql - 将 MYSQL 日期时间列转换为 JSON - SPRING BOOT

mysql - 使用 MySQL Workbench 连接到 Azure MySQL 数据库