MySQL 分页 - 应该缓存排序吗?

发布于 2024-12-07 08:55:49 字数 166 浏览 0 评论 0原文

我找不到任何关于此的信息,所以要么 MySQL 处理这个问题,因此不是问题,要么我使用了错误的关键字:

如果有人想对 MySQL 结果进行排序,我应该在某处有一个排序的缓存版本吗?我应该使用 ORDER BY 子句进行查询吗?有没有更好的方法来做到这一点,以便用户每次更改页面时都不必对数千行进行排序?

I can't find any information on this, so either MySQL handles this and is therefore a non-issue or I'm using the wrong keywords:

If someone wants to sort MySQL results, should I have a cached version of the sort somewhere or should i make my queries with an ORDER BY clause? IS there a better way to do this so that users are not sorting thousands of rows every time they change the page?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

终遇你 2024-12-14 08:55:49

您应该在希望的列上创建索引订购依据。

请参阅文档 ORDER BY 优化 表示 MySQL 可以使用索引来提高 ORDER BY 查询的性能。

You should create an index on the column that wish to order by.

See the documentation ORDER BY Optimization for when MySQL can use an index to improve the performance of a query with ORDER BY.

挽手叙旧 2024-12-14 08:55:49

您应该在要排序的列上创建“带有排序条件”的索引。

这是创建 mysql 索引的语法:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
    [index_type]
    ON tbl_name (index_col_name,...)
    [index_type]

index_col_name:
    col_name [(length)] [ASC | DESC]

因此,如果您通常检索一些按 some_column 排序的 DESC 排序的数据,您应该:

CREATE INDEX my_index ON my_table (some_column DESC)

You should create an index "with a sort criteria" on the column that you want to sort.

This is the syntax to create mysql index:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
    [index_type]
    ON tbl_name (index_col_name,...)
    [index_type]

index_col_name:
    col_name [(length)] [ASC | DESC]

So, if you usually retrieve some data sorted by some_column ordered DESC, you should:

CREATE INDEX my_index ON my_table (some_column DESC)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文