gpt4 book ai didi

mysql - 最好的方法是什么......考虑性能

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:45 24 4
gpt4 key购买 nike

我的表中有大约 5,00,000 个用户,每个用户都与一些书相关联(has_many)

我想显示所有用户及其书籍....

我不会在同一页面中显示所有用户,它们会被分页。

做到这一点的最佳方法是什么,同时牢记性能和数据库命中率。处理大型记录时需要考虑的所有事项。

最佳答案

在同一页面上显示所有用户及其图书是不合理的。我认为,有两种可能的方法可以解决这个问题:

  1. 您可以为列出所有用户的用户创建一个索引页面。对应于每个用户,您可以有一个“显示”页面,您可以在其中显示用户的书籍。这将极大地简化生成的数据库查询,因为您只需要为索引页面加载用户,并在他/她的显示页面上只加载一个用户的书籍。这意味着没有复杂的连接,也不是每次都有很多数据。

  2. 如果你真的想在同一页上显示多个用户和他们的书,那么,就像上面评论中提到的那样,你需要使用分页,比如每页加载 5 个用户。但是,除此之外,您还需要使用预加载,因为这很容易变成 N+1 问题。您可以在“Eager loading of associations”中阅读更多内容。

回到第一种方法,您甚至可以在其中使用分页;例如,列出用户甚至用户的书籍。

关于mysql - 最好的方法是什么......考虑性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8771759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com