index页面读取多个数据表会降低执行效率问题
发布网友
发布时间:2022-05-03 09:34
我来回答
共10个回答
热心网友
时间:2022-05-03 11:04
-
解决方法:
1, 根据实际情况, 使用最优算法规划数据库结构, 必要时可以允许一些数据冗余
2, 尽量使用sql的联合查询等, 减少连接服务器的次数
3, 对于可能需要用到循环的, 考虑是否能够获取所有记录然后转换成js到客户端实现循环 :) 不行的话就使用服务器端代码实现~~~~
4, 优化sql句子和代码结构
5, 优化数据结构是必要的, 对于较为繁琐和频繁的查询, 可以考虑使用视图和存储过程~~~~提高查询效率
6, 缓存可以提高一定的效率, 但是不推荐在缓存中放太多的数据~~~
总结一下几位的答案, 大概就是这些:
1, 使用大型数据库系统, 合理使用存储过程和视图
2, 优化查询语句, 提高查询效率
3, 适当使用缓存, 优化代码, 提高程序执行效率
4, 尽量把不经常改变的数据保存成文本, 减少读取数据库的次数
5, 结合使用AJAX~~~~
另外, 说说JS, 有些数据不太如果使用服务器代码来处理, 由于效率上的问题, 容易增加用户的等待时间, 换成JS或者AJAX, 可以让用户在等待的过程中先去了解其他模块的内容..同时也减少了服务器的负担~~~~~而且, 只要客户机不会太栏..执行JS都比较快的, 而且使用JS传递的数据往往要比直接传递编译后的所有HTML来的小~~~~
热心网友
时间:2022-05-03 12:22
1, 根据实际情况, 使用最优算法规划数据库结构, 可以允许一些数据冗余
2, 尽量使用sql的联合查询等, 优化sql句子很重要,减少连接服务器的次数
3, 对于可能需要用到循环的, 考虑是否能够获取所有记录然后转换成js到客户端实现循环 不行的话就使用服务器端代码实现4, 优化代码结构
5, 优化数据结构是必要的, 对于较为繁琐和频繁的查询, 可以考虑使用视图和存储过程~~~~提高查询效率
6, 缓存可以提高一定的效率, 但是不推荐在缓存中放太多的数据
7,可以用sql一次循环出来的结果,就一次循环出来,毕竟在sql里循环要比在程序里快
热心网友
时间:2022-05-03 13:56
不是很专业,但是思路可以提供一些
1、数据库肯定不要用access,数据实在太大,想想更换一种本身效率高一点的数据库
2、页面能不用asp就不要用,asp本身效率会出问题,比如同一个页面连续打开10次,你的页面包含head.asp,那内存中等于调用10次head.asp,想想用jsp吧
3、害怕速度受到影响,那用户打开的页面不要去直接和数据库打交道,用js包含去实现,尽量多的去实现,数据冗余零时调用
4、select语句可不可以创建零时视图?用js控制在缓存中的驻留时间,如果是频率高的调用访问,效率应该很高
5、相信技术不是问题,思路应该遇到了瓶颈
6、小弟新手,及其需要分数,因为我提出来的问题15天过去没有人帮忙解决,很是郁闷,连悬赏分都穷的没有
热心网友
时间:2022-05-03 15:48
做好数据库的优化吧,这个作用很大
一些数据表的关联和链接,这个对数据读取效率影响很大
或者采用缓冲池之类的技术,把要读取的数据缓冲到一起
还有用squid加速。。这些都可以。。
我采用的是静态。。
热心网友
时间:2022-05-03 17:56
首页上变化的信息并不多。。。最多也就是几十k的样子,把他们存在内存里(例如asp的application中),这样读的时候,首页就完全从内存中获得数据,写的时候,则需要同时写到内存和数据库,整体效率应该可以达到最高。
补充一点,写进内存的数据可不是整个首页的内容,而是类似版面、最新帖列表、在线用户等信息,页面输出还是要重新组织的,只是数据获取无需连接数据库而已。
当然,如果你愿意,也把生成的页面放在内存里,只是我不觉得这办法会带来什么好处。
祝你好运^_^
热心网友
时间:2022-05-03 20:20
那还是看首页庞大到什么程度了。
如果真是够大了。无论xml,缓存呀,AJAX呀,都解决不了问题。
PP:
AJAX,兼容性是问题。并且速度也是不理想,只是用个加载中的字样模糊了访问者的视线。最可怕是google 不愿意看这样样,也得不懂。
最根本的问题,还是用静态页。
一旦不是因为访问量大而是因为数据库负担重而要使用静态页的话,
我想这时如果改首页的模板代码的话,也许得弄个十天半个月的。
我的解决办法就是用程序远程获得首页代码保存为真正用时的首页。
首页不就一个页吗,所以这个方法很有效。
当然这时可以用AJAX自动生成首页的嘛。。。。。。
应了位老先生的话了:AJAX只能用其该用,不然,还不如不用
热心网友
时间:2022-05-03 23:02
这就是为什么这么多论坛要弄一个更漂亮的首页出来.
因为这些信息是管理员推荐的,推荐好了生成一次首页,显然,这样压力会小很多.我做过一些门户也大致按这个思路.
LZ提到的能先加载页面的主要内容,再加载一篇文章被游览/评论了多少次等内容,这个明显是AJAX调的,现在AJAX用途非常广泛.第一步就全部加载好比起先加载开销小的HTML代码来用户感受要差一些.这就是他们之所以用AJAX的原因(前提是即时要求高,不然肯定用静态来处理).
热心网友
时间:2022-05-04 02:00
这是设计问题,除非换个更高效的论坛或导航首页,换静态等都是治标不治本
最后那个问题,应该是ajax吧,现在普及得比较快,估计很多都是用ajax的
热心网友
时间:2022-05-04 05:14
XML来写.这样虽然慢了点点,但效率方面比你直接掉快多了!
热心网友
时间:2022-05-04 08:46
暂时还没想到....