2016 - 2024

感恩一路有你

sql数据库查询语句大全 c#中sql查询为什么每次第一次查询会慢。第二次以后都会快?

浏览量:1572 时间:2021-03-16 09:16:12 作者:admin

c#中sql查询为什么每次第一次查询会慢。第二次以后都会快?

根连接无关紧要,因为服务器第二次有了缓存。向服务器添加1000万条数据,停止并重新打开数据库。查询时,内存不断增加。这是第一次读取,这是读取IO到内存的速度。第二次查询时,内存不再增加。第一次可能需要10分钟,第二次只需要2秒钟。这是因为数据库缓存。

如果是MS SQLSEVER,则在查询前添加一句话“set statistics io on”,第二次将不进行预读取,即io读取。这时,再插入1000行,发现有好几次预读。这些时间只是刚刚加上的台词。只有这些行需要从硬盘中读取,其他内存也可以读取。内存读取比磁盘读取快n倍。

如果平均一个页面数据库要执行200次查询,这个数量级有问题吗?有一个合理的阈值吗?

其实最理想的情况是尽量少与数据库交互,因为数据库提供的功能是数据的存储和检索,所以我们有很多方法将常用的数据缓存在内存中,这样可以大大提高性能,减少传输。

还有另外一个考虑因素。200次数据库检索,例如,如果一次检索1KB的数据,200次就是200KB,100人就是20MB。这显然不合适。这只是访问一个页面

你必须一次检索这些数据吗?不是异步的?腾讯微博主页调用了大量数据,但反应迅速。最重要的是按主次异步加载内容,按需加载

如果这200个查询不能拆分,只能说你的系统耦合度太高了,必须改变架构,耦合度太强了,这是不好的

sql数据库查询语句大全 oracle数据库 数据库

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。