移動混合應用HTML5數據查詢優化

項目介紹html

pheongap混合應用,跨平臺,作應用加工廠提供應用模板編輯器~html5

本地應用,徹底是模擬IOS,安卓原生應用的實現,因此支持14種手勢,全部PPT動畫,視覺差效果,等等功能組合。。。sql

這是IDE的功能設置數據庫

image

 

HTML5本地數據庫就是用SQLite,這是咱們應用的數據庫瀏覽器

image

 

經過數據動態生成頁面緩存

這個應用有30頁,有些應用上千頁,因此頁面全是動態生成的,只會維持在2-3頁,數據結構

這裏用到了模擬多線程任務 - - ,用於實現無緩衝翻頁,效果仍是不錯多線程

image

 

image

 

image

 


一個頁面涉及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數據交互,但願能幫助到你

相關文章
相關標籤/搜索