0

提前感谢您的帮助,

我有一百万个名字和昵称的列表,每个名字只有一个昵称。每个名字都有对应的昵称(即使相同)

我通常使用 PHP 和 MySQL 将数据存储在行中,然后使用 select 语句进行获取。我咨询您,因为此方法可能未优化音量。

将创建一个脚本,每次需要获取百万中大约 600 个名称的相应昵称,这将在每个用户页面加载时执行。

我有使用 PHP 和 MySQL 的经验

我可以以任何最好的方式构建数据,纯文本、mysql 或其他方式。

存储和获取此数据集的最佳方式是什么?

4

2 回答 2

2
  1. 分页/延迟加载

    切勿一次加载所有项目。让它们逐步加载。现实生活中的例子是 Facebook 和 Twitter。它只加载一定数量的项目,然后当你到达底部或点击“加载更多”时,它会加载接下来的 N 个项目或谷歌,它每页只显示十亿个可能结果中的 N 个项目。

  2. 使用 JSON

    这些天来,我仍然看到人们在 AJAX 请求中返回格式化的 HTML——不要那样做。让您的服务器加载初始页面(具有初始 HTML),其余部分通过 AJAX 以 JSON 格式加载。当 JSON 数据到达时,让一些客户端模板脚本为您创建 HTML。这可以节省带宽和下载时间。

  3. 使用压缩

    很明显为什么你应该使用压缩。

  4. 仅加载 SQL 中的必填字段

    通常,您会加载所有列,因为“它们有一天可能有用” - 不。如果要加载一组昵称,让 SQL 只加载昵称。当然,配对时总是需要主键字段,所以在这种情况下,需要 2 列。

并且看到昵称和人之间只是一对一的关系,将其存储在同一张表中。几乎不需要它在另一个表中。这使您免于 JOIN 操作。

于 2012-04-29T11:54:22.247 回答
0

正如 eggyql 提到的,将索引添加到您的名称列。还为您的 sql 选择设置限制SELECT name, nickname FROM your_table LIMIT 0, 10

于 2012-04-29T11:49:25.567 回答