【问题标题】:retrieving database data - all at once or small amounts at a time - angular2检索数据库数据 - 一次全部或一次少量 - angular2
【发布时间】:2017-05-12 07:07:10
【问题描述】:

我对网络开发非常陌生,所以我不确定最好的方法是什么。我正在制作一个 Web 应用程序来管理物品库存数据库。数据库中可能有超过 500,000 行。我应该如何管理这个?我将使用angular2。将有一个搜索栏,用户将使用它来搜索商品,还可以通过过滤器按品牌、商品类型、商品重量等过滤商品。我必须使用 sqlite 数据库。

我想到的方法:

  1. 当用户导航到显示项目的页面时,我应该检索所有(可能是 500,000 行)数据。可能显示前 50 个项目,因此页面上有一些内容,然后当用户在搜索栏中输入/使用过滤器时,我假设我将能够让页面通过 2 路数据绑定更新项目列表并使用非常“单页”的感觉,我认为 angular2 用于并且不必再次查询数据库,因为我已经拥有所有项目等。我不确定一次检索那么多数据是否是一件好事?

  2. 当用户导航到显示项目的页面时,只检索少量任意数量的项目,因此页面填充了一些项目,然后当用户过滤/搜索时,我认为我将无法更新像第一个示例中那样即时列出项目?我想当用户单击搜索按钮时,我将不得不再次查询数据库?也许在过滤器上添加一个事件侦听器,以便在更改数据库查询并获取新项目时?还是?

  3. 这两种方法都不是正确的方法,我应该用其他方法吗?

谢谢大家。

【问题讨论】:

  • 嘿..@user3238415 见movies-finder。对你有帮助!!!
  • 谢谢。我去看看

标签: database performance sqlite angular filter


【解决方案1】:
  1. 不,一次检索所有数据不是一件好事,您应该使用分页,并且在一页中仅显示 50 行(您决定数量)
  2. 仍然分页似乎是一个更好的主意,但是是的,您将不得不再次查询数据库。例如,在向下滚动事件(当您到达最后一行时)再次使用以下行查询数据库并将它们添加到您的页面中。

【讨论】:

  • 感谢您的回复。说得通。我要做一些谷歌搜索,但你知道任何好的资源可以推荐我使用分页技术/教程。再次感谢。
  • 我真的没有任何好的文档,但我记得读过这个:technet.microsoft.com/en-us/library/gg699618.aspx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-31
相关资源
最近更新 更多