本地数据库 html5-移动混合应用HTML5数据查询优化

Pheongap 是一个混合应用程序、跨平台、提供应用程序模板编辑器的应用程序处理工厂。 本地应用完全模拟IOS和Android原生应用的实现本地数据库 html5,因此支持14种手势、所有PPT动画、视差效果等功能组合。 这是IDE的功能设置。

HTML5本地数据库使用SQLite本地数据库 html5,这是我们应用程序的数据库。

页面是通过数据动态生成的。 这个应用有30个页面,有的应用有几千个页面,所以页面都是动态生成的,只会维护2-3个页面。 这里采用模拟多线程任务来实现无缓冲翻页,效果还是不错的。

一次涉及一页N条数据的查询可能会关联很多张表和几十上百条记录。 如何优化呢?

数据查询方式

1:SQL数据

sql语句是拼不出来的,你可以试试一条sql语句需要多少时间?基本上1句话就是100毫秒,在Android下测得

现在一个页面可能有上百个数据关联,直接通过句子查询是不可行的

2:缓存哈希

一种是通过HTML5的executeSql来查询。 SQLResultSetRowList 类型的行是数据集的“行”。

rows 有两个属性:length 和 item,因此获取查询结果的第一行和列名的值:result.rows.item(0).name

那么如果缓存的数据是hash格式的,那么每次就不需要去查询数据,直接在显存中查找缓存即可。

就是这样

var data = {}
each(result,function(r,index){
       data[r.id] = r.item(index);
})

但是忽略一个问题,浏览器分配给每一个应用的内存是有限的,所以这样缓存的表数据一多,内存会溢出,应用直接崩

3:缓存数据集

目前使用的就是html5返回的缓存数据集SQLResultSetRowList了,因为我们可以直接result.rows.item(0) 通过索引下表找到对应的数据

这样只需要算出数据库中每一个id对应的下标索引就可以大大加快查询数据了。

目前项目三种都尝试过,目前使用的最后一种数据查找,项目越来越大,这样数据结构的问题也很严峻,

如果你有做SPA应用,如果有用HTML5数据交互,希望能帮助到你。

【移动混合应用HTML5数据查询优化】相关文章

1.针对移动混合应用的HTML5数据查询优化

2、HTML5让企业拥抱联通混合发展

3. HTML5+JS混合应用开发成本低

4、IDC谈HTML5演进现状:混合应用将抢占大量份额

5. 使用 Ionic 构建简单的混合跨平台移动应用程序

6.iOS更适合游戏,Android更适合应用

7. 充分接触HTML5、Native或混合应用程序开发

8. 使用 CSS 媒体查询和 JavaScript 确定浏览器类型

9、敏捷诊断帮助医生更快查询医疗信息数据库

10. Squel.js:基于 JavaScript 的 SQL 查询生成器