两个数据库同一个服务器,其中一个老数据库访问速度突然变慢

时间:2022-02-25 00:43:59
我们公司的ERP数据库,原来有两条生产线用的同一个数据库,后来生产线二上了新的ERP系统,就单独又建了一个数据库(都在一个服务器上)。
生产线一仍旧试用老的数据库,但是过完年后(这两天刚开工)就出现ERP读取数据慢的情况,想请教各位这个问题我应该怎么着手去解决呢?跟硬件那边确认过,服务器没有问题,跟以前的运行状态一样,放假期间服务器就停了。

13 个解决方案

#1


老数据库重建索引
回复内容太短了! 

#2


服务器重新启动后就会重建索引吗?那为什么新的数据库没有出现慢的情况呢?

#3


引用 2 楼 xiaoguduo 的回复:
服务器重新启动后就会重建索引吗?那为什么新的数据库没有出现慢的情况呢?


不会,数据在不断的插入修改并删除等,页面就会千疮百孔

#4


哦~您的意思是说现在给老的数据库建立数据索引,这样可以提高访问的速度是吗?

#5


引用 4 楼 xiaoguduo 的回复:
哦~您的意思是说现在给老的数据库建立数据索引,这样可以提高访问的速度是吗?


晕,是重建索引呀,不代表你没有索引呀

#6


啊~麻烦你可以讲的详细一点点吗?第一次接触这样面的东西,不是很明白~
我找到一段代码
USE DatabaseName--Enter the name of the database you want to reindex

DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR

SELECT Table_Schema+'.'+Table_Name FROM information_schema.tables WHERE table_type = 'base table'

OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @TableName

WHILE @@FETCH_STATUS = 0
BEGIN

DBCC DBREINDEX(@TableName,' ',90)

FETCH NEXT FROM TableCursor INTO @TableName
END

CLOSE TableCursor
DEALLOCATE TableCursor

运行完以后怎么看我的索引是否重新建立了呢?谢谢您拉

#7


执行的时候不是有消息反馈给你吗
?

#8


返回的信息是:
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系

好几条这样的信息,看不懂啊

#9


注意:
Index (ID = .....) is being rebuilt.

#10


是不是过年后刚开机所有数据都要重新加到缓冲区的的原因?慢了多长时间了?

#11


引用 8 楼 xiaoguduo 的回复:
返回的信息是:
 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系

 好几条这样的信息,看不懂啊

没看到。。。。。

#12


引用 10 楼 guguda2008 的回复:
是不是过年后刚开机所有数据都要重新加到缓冲区的的原因?慢了多长时间了?

以前查询大量数据的时候会慢,现在干脆就停在那儿不反映了

#13


该回复于2010-02-23 16:38:48被版主删除

#1


老数据库重建索引
回复内容太短了! 

#2


服务器重新启动后就会重建索引吗?那为什么新的数据库没有出现慢的情况呢?

#3


引用 2 楼 xiaoguduo 的回复:
服务器重新启动后就会重建索引吗?那为什么新的数据库没有出现慢的情况呢?


不会,数据在不断的插入修改并删除等,页面就会千疮百孔

#4


哦~您的意思是说现在给老的数据库建立数据索引,这样可以提高访问的速度是吗?

#5


引用 4 楼 xiaoguduo 的回复:
哦~您的意思是说现在给老的数据库建立数据索引,这样可以提高访问的速度是吗?


晕,是重建索引呀,不代表你没有索引呀

#6


啊~麻烦你可以讲的详细一点点吗?第一次接触这样面的东西,不是很明白~
我找到一段代码
USE DatabaseName--Enter the name of the database you want to reindex

DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR

SELECT Table_Schema+'.'+Table_Name FROM information_schema.tables WHERE table_type = 'base table'

OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @TableName

WHILE @@FETCH_STATUS = 0
BEGIN

DBCC DBREINDEX(@TableName,' ',90)

FETCH NEXT FROM TableCursor INTO @TableName
END

CLOSE TableCursor
DEALLOCATE TableCursor

运行完以后怎么看我的索引是否重新建立了呢?谢谢您拉

#7


执行的时候不是有消息反馈给你吗
?

#8


返回的信息是:
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系

好几条这样的信息,看不懂啊

#9


注意:
Index (ID = .....) is being rebuilt.

#10


是不是过年后刚开机所有数据都要重新加到缓冲区的的原因?慢了多长时间了?

#11


引用 8 楼 xiaoguduo 的回复:
返回的信息是:
 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系

 好几条这样的信息,看不懂啊

没看到。。。。。

#12


引用 10 楼 guguda2008 的回复:
是不是过年后刚开机所有数据都要重新加到缓冲区的的原因?慢了多长时间了?

以前查询大量数据的时候会慢,现在干脆就停在那儿不反映了

#13


该回复于2010-02-23 16:38:48被版主删除