29
社区成员




有一公司的老的管理系统,从之前的2003server系统,迁移到新的2012server系统中,数据库从sql2000迁移到sql2008.
现在的问题是程序会卡住,我一句一句测试发现,它无法读取到视图表中的记录数。造成无法分页,无法显示,我等一晚上,它也不显示。
而在2003系统中的sql2000时,能正常读取视图的记录数,并且分页显示。
请各位大伽,帮我看看,问题可能出在那?我要如何改进?
SQL查询语句的问题:在旧的系统中,查询语句可能在SQL Server 2000中工作正常,但在SQL Server 2008中可能就不正常了。这可能是由于SQL语句中
使用了不再支持的语法或者函数,或者由于数据类型的不同所导致的。
视图的问题:视图可能在新系统中不再有效。在创建视图的SQL语句中可能存在一些在新系统中不再有效的语法或者函数。
网络的问题:如果数据库迁移后,网络设置发生了变化,那么可能导致连接问题,从而影响程序的读取操作。
程序代码的问题:程序可能存在一些与数据库版本相关的代码,这在新旧系统中表现不同。
能看下分页实现的sql语句么,可能这块可以优化下。
并且我全部显示有近10万条记录,有点久但好象也没花1-2小时,就能全部显示了。而我的程序什么都不干,只是读取该视图表的记录数,它就一直卡住,一晚也不运行到下一句。只是运行在读取视图表的记录数上了。
但是如果想获得视图表的记录数量,它也不出错,只是一直卡着,不显示也不出错,cpu占比接近50%,显示是sql占用了cpu
注意,它只是不能读取到记录的数量,无法进行分页等的计算。意思是:如果我不管记录的数量和分页,我只是显示前20条记录或是全部显示(会很久),它是没有问题的。可以显示出来。