优化省市县三级联动(查询数据库)

田野_7 发布于 2016/05/30 15:34
阅读 1K+
收藏 2

javaWeb项目,页面实现省市县三级联动。

想到三种方法:

1.查询出所有省并显示,选择省或市,利用ajax从后台查询出对应数据,再显示。

2.查询出所有省市县,数据隐藏到页面,jquery实现联动显示。

3.省市县数据存到js文件中,页面jquery实现联动。

前2种都试过了,要查询数据库,反应较慢。领导说不考虑第3种,要查数据库。

页面中,有多个省市县联动。

各位有没有其他的方法,来优化?

加载中
0
hyjiacan
hyjiacan
所有数据在服务器启动时一次查出,放到http服务器的公共缓存里面,只要数据不过期,那么每次都直接从缓存取。
hyjiacan
hyjiacan
回复 @geminiblue : 放localStorage 也不错啊 不过就需要加标识(比如版本)来维护了 因为这些数据也可能会变的,例如地区行政区域归属变更,县升为市,或者逗逼的字写错了。。
geminiblue
geminiblue
第二点,看看你的查询方式,递归还是二叉树?建议数据结构二叉树存储,这样能快点
geminiblue
geminiblue
顶起,当然,php列外,其实说白了就是用缓存,用缓存,H5的话,扔localStore里面去,反正都是几百年不变的数据,谁家省市区时时刻刻更新的?
0
tywali
tywali
其实放到JS文件里也问题不大,毕竟这个更新频率是以年为单位计算的。
田野_7
其他几种都试了,最后选的放js。谢谢啊
0
mark35
mark35
http://www.oschina.net/code/snippet_126398_5391
0
sprouting
sprouting
查数据库的都不好,放到缓存中可以考虑下,如果不考虑JS的话放到使用JQyert方式比较合适。
田野_7
缓存我也试,但是数据太多,页面加载时间太长。JQyert是什么?跟jquery相关?
0
蔡地
加索引查询就快了。
田野_7
主要是数据多,就算查库快,数据太多,加载到页面也慢,省市县表结构简单,加索引了,查询时间差不多。
0
sidney9111
sidney9111

看起来你的数据不少,如果省市的系统都是你们统一做的(我做的时候基本靠数据交换系统),要做快速框架,而且现在网络快那么多,你这种xx中心的基本都是不考虑成本,直接上光纤,基本框架都是要做服务器缓存的,也就是生成服务器临时文件,txt可以,js文件(nodejs)也是可以的,甚至是一堆索引,光靠jquery基本不可实现,其实你已经试过页面缓存不是么,还可以做cache缓存。做法很多,就是成本和成效不可控

sidney9111
sidney9111
o o 哦哦
田野_7
cache这个我试了,但是数据加载到页面的时间太慢,后来选择用js,第一次慢,以后读的是缓存,就快了。
田野_7
问过领导,可以用缓存。谢谢
返回顶部
顶部