【问题标题】:How to optimize queries to Spreadsheet via Google WebApp如何通过 Google WebApp 优化对电子表格的查询
【发布时间】:2021-11-07 21:53:28
【问题描述】:

我有一个 WebApp,它通过 google.script.run.withFailureHanlder(data).withSuccesHandler(data).someFunction(data) 发送一些属性来过滤从云端硬盘中的电子表格中检索数据。例如

主机端

google.script.run.withSuccesHandler(e => {
  console.log(e);
}).someFunction(data);

Google Apps 服务器端:

function someFunction(data){
 let book = SpreadsheetApp.openByUrl(url).getSheetByName(data.name);
 let info = book.getDataRange().getDisplayValues().filter(x => {
   return new Date(data.start) > new Date(x[0]);
 });
 return result;
}

多人同时查阅这些电子表格。一开始还不错,但是现在数据增长了很多,查询也因为数据量变慢了。

有什么办法可以优化这些查询而不影响其他人同时查询的结果?

【问题讨论】:

    标签: javascript google-apps-script google-sheets web-applications


    【解决方案1】:

    如果您的电子表格中的数据不经常更改,您可以尝试在客户端缓存数据。

    您可以使用IndexedDB 作为缓存来存储客户浏览器中常见查询的结果,前提是他们的浏览器支持它。您还需要设置一些代码来定期检查工作表是否有更改,以便在必要时更新客户端上的缓存/数据库。

    Dexie 是一个很好的 IndexedDB 包装器,所以我建议使用该库来开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-27
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多