Mysql count vs select performance in wordpress



我有一个非常大的数据库(~1000万行(,我想尽快在表格中列出这些东西。我有几个选择:

  1. 我可以限制Mysql中的行- 不是首选,因为我想计算具有特定类型数据的行,例如附件
  2. 获取所有行并使用 while 循环每次限制 1000 条记录- 我认为这样做很好,但在内存中调用 1000 万行看起来很疯狂,我很确定它的性能一定更差。
  3. 计算总数据,然后使用限制列出- 但 mysql 计数是一个交易破坏者,因为尽管有唯一和索引 id,但我在 mysql 计数方面遇到了糟糕的时光。

最好的方法是什么?

如果我只想列出 1000 万行并使用 php 解析数据以停止它并每次显示 1000 行,这是一个坏主意?

需要考虑一些事项:

  • 数据库是否经过优化?如果是,请跳过
  • 要从中筛选搜索的列编制索引
  • 仅从中选择所需的列(而不是选择 *(
  • 如果要计算总数并且 id 是连续的,您可以选择最新的行并根据 id 进行计数(如果它"那么慢"(
  • 如果您正在查看某种分页,您可以计算行数并根据用户输入仅选择几条记录(选择限制为 1000,当其第 2 页时跳过"1000",等等(

你不会想要1000万数据在你的"内存"中,当你使用0.1%的数据时,对吗?

最新更新