ListView 和 sqlite 结果集 search/filter(性能和最佳实践)
ListView and sqlite resultset search/filter (performance and best practices)
我有一个带有 ListView 的应用程序来显示所有可用的文档,这个问题是关于它的性能和最佳实践,当我将数据设置到 ListView 以及当我过滤它的结果时。
1) 数据库中有大约 60000 个结果 table,我应该一次加载所有 60000 行,还是加载 100 行并且每次到达 ListView 的末尾时,执行另一个查询并再添加 100 行?
2) 我有一个将 SearchText 值设置为 ListView 的 TextField,但是,如果我只显示 100 或 200 行,而搜索到的行不在其中,假装的结果将永远不会出现,我应该执行带有 SearchText 值的 sqlite 查询来过滤结果集并替换 ListView 数据,还是拥有 60000 行并使用 SearchText 值?
有多少人会阅读全部 60.000 行?确切地说,none。有多少人会读100?可能有几个。
因此,对于 99% 的情况,仅加载 100 件商品就足够了。使用 widget 加载更多数据基本上就是您所需要的。
关于搜索,请改用 SQL 查询。在 60.000 行内搜索非常繁重。 SQL 是为它而建,利用它来发挥你的优势。
我有一个带有 ListView 的应用程序来显示所有可用的文档,这个问题是关于它的性能和最佳实践,当我将数据设置到 ListView 以及当我过滤它的结果时。
1) 数据库中有大约 60000 个结果 table,我应该一次加载所有 60000 行,还是加载 100 行并且每次到达 ListView 的末尾时,执行另一个查询并再添加 100 行?
2) 我有一个将 SearchText 值设置为 ListView 的 TextField,但是,如果我只显示 100 或 200 行,而搜索到的行不在其中,假装的结果将永远不会出现,我应该执行带有 SearchText 值的 sqlite 查询来过滤结果集并替换 ListView 数据,还是拥有 60000 行并使用 SearchText 值?
有多少人会阅读全部 60.000 行?确切地说,none。有多少人会读100?可能有几个。
因此,对于 99% 的情况,仅加载 100 件商品就足够了。使用 widget 加载更多数据基本上就是您所需要的。
关于搜索,请改用 SQL 查询。在 60.000 行内搜索非常繁重。 SQL 是为它而建,利用它来发挥你的优势。