
你的数据库链接过多,或者你的数据可比较大!同时加载的东西过多!在与你数据库同目录里会产生一个ldb后缀的文件!一般情况都会有这个文件,但是这个文件太大就会导致链接过慢,甚至链接不上,你重启后,大量链接关闭,ldb后缀的文件就没了!所以,又能连接了!
建议数据库不要超过30M ,如果需要的话换成SQL的比较好~
这个不是其他的原因,而是你的内存的原因,如果你用于测试,我认为这样还可以,毕竞ACCESS只是一个桌面的关系数据库系统,而不像SQL等服务体系的。而且你用的驱动是ACCESS驱动的,就像你使用ACCESS,它首先将ACCESS内容全部调入到内存或虚拟内存中,如果你的数据库较大时就会出现很慢的情况。而换一个驱动还是不错的想法,OLEDB才是专业对网页进行设计的一个驱动,它是调用了底层API的,所以来说,速度应该不错的。至于说ACCESS本身很慢,我认为这不是构成网站慢的原因。因为ASP本身也是一个边解析边执行的翻译程序,而不像aspnet编译程序,所以在速度匹配上来说,ASP搭上ACCESS还是可行的方案。而用aspnet作开发时搭ACCESS是供用测试的,后来一般会换用SQL,但用的一般还都是OLEDB驱动,而不采用本身的驱动。
OLEDB驱动就是将你的connstr改为:
connstr = "provide=MicrosoftJetOLEDB40;Data Source="&servermappath("data/avonjxcmdb")
同时,我只是说会好些,但如果你的ACCESS过大的情况或是内存过小,也不会有多大的改观的。另外,一般数据库使用完毕后,显式关闭连接,不要等垃圾收集器等程序的回收,这样会拖慢速度的。
ACCESS数据库过大的解决办法是,将不重要的或是关联不大的表建立在别一个数据库中,也就是说对原有数据库进行了拆分,这样做保证数据库本身不大,使用时一个连接的数据虽然没有多大的改变,但由于驱动没有打开好么大一个数据库而使用的内存不大,来提高速度。每一个连接使用完毕后就关闭,一般不会造成类似的现象了。
至于说PHP+MYSQL的结果没有延迟,我认为了桥桥这话说的有点好个了。
ASPnet+MSSQL不也行吗?呵呵,SQL是一个服务器组件,或是干脆说其是一个SQL服务器,它本身就是提供这样的服务的,完全可以与ASP/aspnet/jsp/php等分开在两台机器上的。再者来说,IL的本身就比ASP要快的多,而SQL只是一个数据服务器而已。所以说只有,我认为本身有点过于绝对了。
不过目前PHP国内使用的比较多真的,比如百度就是,但在国外JSP还是比较多的,而且使用何种语言只是一个地域性的,在于程序员本身。
如果只看说,我学JSP时,JSP用TOMCAT做试验说JSP是最快的,而只是说PHP与ASPnet只是同一数量级的,而学aspnet时,ASPnet的实验也说,ASPnet是最快的。要优于PHP与JSP,所以PHP上说它是最快的也不足为奇,哪个厂商不想多卖自己的东西呢?瞬间结果也只是一种太牵强的说法,它没有遇到大数据交换和数据库事务事件,如果真的碰到,无论是那种语言都是需要时间的,而不再什么瞬间了。不是ASP和CGI与PHP/JSP/ASPnet的确不在同一数量级,但国内还有很多程序员未从asp上转型到aspnet上来呢!
如果数据库过大,就算是一个登陆,那速度也是会很慢的!
方法一:优化代码
仔细检查一下数据库代码是否写的规范,把多余的打开和关闭都搞掉
方法二:一次读出数据库里的所有数据,搞到缓存里去这么一连只要服务器没啥问题可以一直不用在连接数据库当然前提是没有啥 *** 作数据库的网页存在只是读取时候
方法三:修改服务器的注册表,把access的连接线程加大(可能是叫线程吧),如此一来速度会更块对服务器影响很小
以上就是关于ASP用ODBC连接Access数据库查询突然变慢全部的内容,包括:ASP用ODBC连接Access数据库查询突然变慢、asp 连接access数据库很慢、ACCESS数据库响应缓慢!抓狂!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)