如何有效地选择/查询7万条json数据?

发布于 2024-09-17 17:58:57 字数 392 浏览 6 评论 0原文

我现在正在开发 javascript 库,其中包含印度尼西亚的 70,000 个村庄(可通过 http://bisbak.com/regina/ 访问),我构建了一个数据浏览器小部件。在 Safari 和 Firefox 中一切正常。但是当我使用 Chrome 时,当我选择一个地区(它会自动加载村庄)时,总是需要很长时间。检索地区村庄的代码如下:

for (n in data) {
  var rs = [];
  if (n is ok) rs.push(data[n]);
  return rs;
}

数据是具有超过 70,000 个村庄键的 json 对象。

I'm now developing javascript library which consists 70,000 more villages in Indonesia (accessible at http://bisbak.com/regina/) and I build a data browser widget. Everything is fine in Safari and Firefox. But when using Chrome, it always takes long when I happen selecting a district (which automatically loads villages). The code to retrieve district's villages is like:

for (n in data) {
  var rs = [];
  if (n is ok) rs.push(data[n]);
  return rs;
}

data is json object with more than 70,000 village keys.

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

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

发布评论

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

评论(1

俯瞰星空 2024-09-24 17:58:57

也许您应该仅在必要时加载数据。

在您的情况下,您可以在启动时仅加载Provinsi。当选择一个 Provinsi 项目时,您仅加载属于该项目的所有 Kab./Kota 项目;当选择一个 Kab./Kota 项目时,您只能选择属于该项目的所有 Kecamatan 项目,依此类推。

为了提高性能,您可以加载两个级别而不是一个级别。因此,当选择Provinsi项目时,您将加载所有Kab./Kota项目以及属于它的Kecamatan。此外,在客户端和服务器端缓存数据。

Maybe you should load the data only when necessary.

In your case you could load only Provinsi on startup. And when one Provinsi item is selected, you only load all Kab./Kota items that belong to it; and when one Kab./Kota item is selected, you only all Kecamatan items that belong to it, and so on.

To improve the performance, you could load two levels instead of one. So when a Provinsi item is selected, you load all Kab./Kota items and the Kecamatan that belong to it. Additionally, cache the data on the client and server side.

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