php 为过滤器大数组选择正确的模式- Rest与Local Array

zdwk9cvp  于 2022-11-28  发布在  PHP
关注(0)|答案(1)|浏览(111)

对于一个旨在通过保持响应速度来过滤数据(如5000多条记录)的应用程序来说,哪种方法是最好的?
1.过滤本地存储器阵列
1.通过http API请求调用查询数据库
对于我的应用程序,我使用angularjs,php和SQLite3。现在我从slite数据库加载所有记录到我的表,然后通过搜索过滤这个字段。所有工作都很好,但当我超过3000条记录时,我注意到一定的速度变慢了。通过限制在两个字段上搜索,我得到了更好的性能。我怀疑的是,如果改变模型和查询数据库,我是否得到了更好的性能。
1.本地阵列优势

  • 我可以使用JavaScript Array map()方法
  • 低消耗数据带宽
  • 在筛选前可以看到表中所有记录
  • 我可以工作,加载数据后,在离线。

1.本机数组的缺点

  • 超过2000个记录的性能下降。

因此,如果我对任何过滤器操作请求进行http API调用,您能否帮助我评估其优缺点,并关注性能?

h9a6wy2h

h9a6wy2h1#

我不能说明PHP中的缓存,但是对于AngularJS端,有一种方法可以遵循:
1.当用户第一次搜索时,从数据库中获取结果。
1.制作2份数据副本:一个直接呈现给用户,另一个可以通过键值对方法存储在本地json中。3.下次用户搜索任何东西时,首先查看本地json以获得结果。如果数据在本地存在,则不需要进行db查询,否则进行db查询并重复步骤2。
这个想法不是让用户等待每次搜索,你不能简单地一次调用所有5000多条记录并存储在本地,而且你肯定不能每次都进行数据库查询,因为RDMS有这么多记录会导致性能低下。

相关问题