提前感谢您的帮助,
我有一百万个名字和昵称的清单, 每个名字只有一个昵称。每个名字都有相应的昵称(即使它是相同的)
我通常使用PHP和MySQL在行中存储数据,然后使用select语句来获取。我咨询过你,因为这个方法的量可能没有优化。
将创建一个脚本,每次需要获取大约600个名称的相应昵称,这将在每个用户页面加载时执行。
我有使用PHP和MySQL的经验
我可以用最好的方式构造数据,纯文本,mysql或其他东西。
存储和获取此数据集的最佳方法是什么?
答案 0 :(得分:2)
切勿一次装入所有物品。让它们逐步加载。一个真实的例子是Facebook和Twitter。它只会加载一定数量的项目,然后当您到达底部或点击“加载更多”时,它会加载下一个N项或Google,其中每个页面只显示十亿个可能的结果。
现在,我仍然看到人们在AJAX请求中返回格式化的HTML - 不要这样做。让您的服务器加载初始页面(具有初始HTML),其余部分通过AJAX加载JSON。有一些客户端模板脚本在JSON数据到达时为您创建HTML。这样可以节省带宽和下载时间。
很明显为什么你应该使用压缩。
通常,您加载所有列,因为“它们有一天可能会有用” - 没有。如果要加载一组昵称,请让SQL仅加载昵称。当然,配对总是需要主键字段,因此在这种情况下,有2列。
看到昵称与此人之间只有一对一的关系,请将其存储在同一张桌子中。它几乎不需要在另一张桌子里。这使您免于JOIN操作。
答案 1 :(得分:0)
正如eggyql所提到的,在你的名字列中添加索引。同时为sql select SELECT name, nickname FROM your_table LIMIT 0, 10