gpt4 book ai didi

javascript - 过滤 JSON 对象比通过 ajax 查询数据库更快吗?

转载 作者:行者123 更新时间:2023-11-29 02:46:46 25 4
gpt4 key购买 nike

我正在处理一个产品页面,其中有一组会影响价格的选项。始终存在的主要选项可让您选择 Material 。然后,根据 Material 的不同,选项集可能会发生变化。

在数据库中,我有一个表格列出了最终产品及其价格,这是一个大约 2000 行的表格,列出了具有不同选项的每个可用产品。

类似于:

product_id / code / price / size / option / color

1 ABC 20$ 1 3 5
2 DEF 30$ 2 4 5
3 FFF 30$ 3 4 5

等等。

整个过程都使用 ajax 调用,所以每次选项更改时,我都会查询数据库,查找具有该组选项的产品并显示价格。

在这种特定情况下,在开始时获取整个产品列表(将是一个查询,大约 2000 行),将其存储在 Javascript 对象中并对其进行过滤是否有意义?

如果重要的话,我正在使用 MySql

最佳答案

可能是,但有很多变量会影响它。我假设:

  • 访问者是典型的网络用户
  • ajax 请求的往返时间约为 100 毫秒

鉴于这些情况,您的普通访问者浏览器可以几乎肯定在那段时间内搜索数百万产品。

但是,假设您正在优化用户体验(即由 ajax 引起的延迟相当明显),您可能需要混合:

到处缓存

很可能您的产品集更改频率远低于人们访问它的频率;这意味着您的数据读取量很大。这是避免完全访问数据库并将诸如 example.com/products/14/all-options.json 之类的内容缓存为静态文件的绝佳机会。

文本存储很便宜。服务器 CPU 时间更少。

如果特定产品有很多选项(即数万个),那么在这种情况下,您可以将它们缓存为静态文件树。例如,example.com/products/14/size-1/all-options.json 给出了产品 #14 尺寸 #1 的所有选项。 example.com/products/14/size-1/option-4/all.json 都是尺寸 1,选项 #4,依此类推。

然后您可以继续使用 Javascript 过滤这些较小的集合,并可能拥有数百万种产品,而无需在启动时进行大量的数据库命中或大量下载。

关于javascript - 过滤 JSON 对象比通过 ajax 查询数据库更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41106261/

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