移动混合应用HTML5数据查询优化
项目介绍
pheongap混合应用,跨平台,做应用加工厂提供应用模板编辑器~
本地应用,完全是模拟IOS,安卓原生应用的实现,所以支持14种手势,所有PPT动画,视觉差效果,等等功能组合。。。
这是IDE的功能设置
HTML5本地数据库就是用SQLite,这是我们应用的数据库
通过数据动态生成页面
这个应用有30页,有些应用上千页,所以页面全是动态生成的,只会维持在2-3页,
这里用到了模拟多线程任务 - - ,用于实现无缓冲翻页,效果还是不错
一个页面涉及N多数据的的查询,可能关联很多表,几十上百条记录,如何优化?
数据查询方式
1:sql数据
拼sql语句是不行的,你可以试试一条SQL语句耗费的时间是多少? 基本上1条语句就是100毫秒了,安卓下面实测
现在一个页面就可能存在几百条数据的关联,那么直接通过语句查询是行不通的
2:缓存哈希
通过HTML5的executeSql查询出来的是一个,SQLResultSetRowList 类型的 rows 是数据集的“行”,
rows 有两个属性:length、item ,故获取查询结果的第一行列名为name的值 :result.rows.item(0).name
那么如果缓存数据为哈希的格式,这样就不需要查询数据了,每次找内存中的缓存即可了
就是这样
var data = {} each(result,function(r,index){data[r.id] = r.item(index); })
但是忽略一个问题,浏览器分配给每一个应用的内存是有限的,所以这样缓存的表数据一多,内存会溢出,应用直接崩
3:缓存数据集
目前使用的就是html5返回的缓存数据集SQLResultSetRowList了,因为我们可以直接result.rows.item(0) 通过索引下表找到对应的数据
这样只需要算出数据库中每一个id对应的下标索引就可以大大加快查询数据了
目前项目三种都尝试过,目前使用的最后一种数据查找,项目越来越大,这样数据结构的问题也很严峻
如果你有做SPA应用,如果有用HTML5数据交互,希望能帮助到你
移动混合应用HTML5数据查询优化相关推荐
- 柴静调查:穹顶之下_调查:HTML5数据列表
您可能已经在Web上的某处遇到了这种响应: 在输入表单中输入内容时,建议列表会出现在输入内容的底部 . 多年来,我们依靠JavaScript来创建这样的功能. 今天,我们可以使用新的HTML5 < ...
- HTML5的数据存储和数据处理的功能有,浅析 HTML5 数据存储的方法及应用
原标题:浅析 HTML5 数据存储的方法及应用 1 HTML5 本地存储简介 中新增的功能之一是本地,使用本地数据 库可以在客户端本地建立一个数据库,该数据库以前是必须要 保存在服务器端数据库中的内容 ...
- 百万数据查询优化技巧三十则,新增5条
百万数据查询优化技巧三十则 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判 ...
- 混合索引_数据库面试题:查询在什么情况下不?索引-数据库知识点
查询在什么情况下不⾛索引 数据库面试题 ⾸先,我们可以说通过explain去排查⼀个慢查询,进⽽找到它的索引(参看第五题),当创建索引却不⾛索引时,我们就需要考虑到优化器的问题. 在⼀条单表查询语句真 ...
- 精灵混合加密系统_数据安全——混合云的数据备份
组织在使用混合云进行备份时,可以利用云计算的可扩展性和安全性,而不会影响其内部部署的控制. 混合云是一种复杂的生态系统,可以利用来自公共云和私有云的组件以及内部部署资源.组织出于各种原因实施混合云策略 ...
- list筛选数据_Power Query如何对于各类混合格式的数据展开?
在网抓的过程中,经常会碰到抓回来的数据格式很多都是记录,列表格式,这类格式的数据. 正常来说只需要展开到表格即可,但是转到表后还有类似的混合数据,怎么去展开呢? 这样的数据没有展开符号,怎么样才能快速 ...
- html5数据提交到mysql,保存html5画布作为数据到mysql数据库
这可能是不可能的,它只是非常适合我的情况.我使用html5画布作为幻灯片演示者,用户可以使用它并将其保存到本地机器上.保存html5画布作为数据到mysql数据库 我的目标是改为以某种不同的方式将其保 ...
- html5 数据验证,【译】表单数据校验
当你需要经常在服务器上校验数据时,在Web页面上的另加校验就有诸多好处.多数情况下,用户会被表单惹恼.而当用户填完表单时就校验数据,既有助于用户立即发现他们犯的错误,也能减少等待HTTP响应的时间.并 ...
- [转]百万数据查询优化技巧三四则
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
最新文章
- [Spring cloud 一步步实现广告系统] 22. 广告系统回顾总结
- 每天6亿人在看《延禧攻略》?大数据告诉你哪家视频网站VIP值得买(附代码)
- cyclicbarrier_Java并发– CyclicBarrier示例
- 使用了JDK自带的jconsole查看Tomcat运行情况
- 2019最新Python爬虫高频率面试题总结(一)
- python标准输入_Python 处理标准输入
- 节前福利:Java程序员面试宝典升级版
- 蓝桥杯 ADV-87 算法提高 利息计算
- 开源数字媒体资产管理系统:Razuna
- 漫画:谁杀死了MySQL?
- Spring Security 原理
- 什么是m叉树_C#的λ表达式树(LambdaExpression)保姆级超详细简单入门教程
- Excel房贷计算器
- oracle remap语句格式,Oracle remap_schema需要注意的问题
- 使用rimraf一秒删除node_modules文件夹【亲测有用】
- 【码农说码】手撕锟斤拷,彻底搞懂GB2312,GBK,Big5,ASCII,UTF-8,UTF-32的前世今生
- Matplotlib坐标轴范围
- 深度学习中各种图像库的图片读取方式
- sql将日期格式化特定的字符串格式
- 动力节点-Servlet-JSP课堂笔记
热门文章
- oracle增量备份0级,oracle_linux自动运行rman增量备份脚本,一、增量备份脚本0级备份脚本...
- mysql 连接差异_和你一起从 0 实现一个数据库差异对比工具
- HTML5+canvas激流勇进网页游戏源码
- ARP和RARP报头结构
- C# 代码生成器 amp; 网站架构设计
- 详细介绍Linux shell脚本系列基础学习(列表)
- git-ssh 配置和使用
- iPictrue:图片标注提示
- linux: sort用法
- 人工智障学习笔记——机器学习(8)K均值聚类