解决方案:
1可以增加带宽解决。
2主要看什么程序读取SqlServer2000的数据,如果是应用程序的话,可以做一个中间件,先读出Sqlserver 中需要的数据,然后在进行压缩传送,在外网在解压出来。
3有可能是因为你使用的是远程直连数据库,本身通道就很耗带宽所以会很慢,建议在内网处理完成后在返回给外网。
4有肯能是数据库中的数据比较多,或者Sql比较复杂,建议,建立视图和索引加快检索速度。
5其他的貌似也没有啥要说的了,具体东西具体对待。
数据库数据表的链接形式(是否链接表在另外的一个服务器上)、数据库打开的方式(是否独占 是否有人共享打开了)、是否 一个查询 过于复杂(多表的查询 可以先建立分表查询 然后 再对这些分表查询 进行合并查询速度会相对快一些)……
计算机的配置 是否有足够的 运算内存可供使用 等等……
总之 原因很多 要视你的工作环境来判断……
数据库的优化涉及三个方面,一是你的程序怎么写的,二是数据库结构怎么设计,三是你的数据库情况怎样(数量、差异规则)。
一般说来,如果你是数据较多,必须建立合理的索引,而且查询语句要按照索引来查询。
而从数据库里面获取并显示的基本方式,我想只有一种模式,只要你能显示就不存在错误。当然你可以贴出代码大家看看。
补充:
恐怕你上面的语句是简化了的,而且把关键部分简化掉了,完全相当于没有贴。你下面这个语句:
$result=mysql_query("select from image",$conn);
里面应该有一个类似where id=$id这样的条件,然后把id字段设置为主键,速度可以提高数十倍,除非你表里面只有一条记录。
以上就是关于SQLServer2000数据库通过外网读取内网读取数据慢全部的内容,包括:SQLServer2000数据库通过外网读取内网读取数据慢、数据库查询非常慢可能是什么原因,如何解决、数据库读取慢 读取2000条数据既然用了28秒 以下是代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)