2016-12-01 27 views
0

ログデータベースが,300万行以上あり、です。どうやらそれは遅く応答していたので、私はテーブルを切り捨てることに決めました。ゴーストレコードのクリーンアップ後もデータベースのパフォーマンスが遅い

切り捨てる前に外部キー制約を削除しようとしたときにSQL管理スタジオがクラッシュしていたため、テーブルを切り捨てることができませんでした。したがって私はデータベースを削除し、スクリプトを再度実行してデータベースとテーブルを作成しました。データベースを削除するには、データベースを右クリックして[削除]オプションを押してください。

それでも、SELECT/INSERT操作は以前と同じくらい時間がかかります。だから私は先に進み、Ghost recordsを探しましたが、何も見つかりませんでした。私はすでにデータベースを再作成しているからかもしれません。

まだ私は先に進んでゴーストクリーンアップを強制

DBCC ForceGhostCleanup; 
GO 

私はまだパフォーマンスを向上させることができません。問題を解決するにはどうすればよいですか?

ありがとうございます。

+3

よく3百万行は、dbのために何もありません。また、問題がある場合は、まず、メモリー、ハード・ディスク、索引、並行性をチェックする必要がある他のものがあります。しかし、データベースを削除することは過度のものでした。あなたは朝の車が始まっていないようですが、あなたは新しいものを買って買います:/ –

+0

@JuanCarlosOropeza:私は極端なステップを取ったことは間違いありませんが、データは重要ではなかったので、私はそれを行いました。しかし、私はそれを念頭に置いておきます。私は十分な空きメモリが12GB以上あり、ハードディスクは1TBなので、問題ではないはずです。私は、より良いパフォーマンスのために、クラスタ化されたインデックスが必要だと思います。 – Marshal

+0

私の答えを見て、その考えの同じ行に.. @マーシャル –

答えて

1

既存のインデックスの断片化を見ましたか?おそらく、インデックスを再構築または再編成する必要があります。

この記事は、ここでの処理アウト呪文:ここ

ALTER INDEX IX_Employee_OrganizationalLevel_OrganizationalNode ON HumanResources.Employee 
REORGANIZE ; 

サンプル文が再構築されています:

ALTER INDEX PK_Employee_BusinessEntityID ON HumanResources.Employee 
REBUILD; 

あなたもこれを行うことができます。ここMSDN Index rebuild or reorg

は、サンプルのREORG文ですデータベース保守計画を使用したメンテナンスのタイプは、インターフェースのようなウィザードで簡単に実装できます。

+0

@JuanCarlosOropeza私は従いません。これは私が認める広範な質問に対する答えです。 –

+0

申し訳ありませんが、私はアバターに混乱し、元OPだったのです。また、両方の名前はMで始まります。 –

+0

@MisterPositive私はそれを調べて、あなたに連絡します。私はデータベースの専門家ではないので、元に戻すには時間がかかるかもしれません。 – Marshal

0

Mister PositiveとJuan Carlos Oropezaから提供されたコメントを参考に、私はSqlServerが自分のPC上のメモリの94%を占めていることを発見しました。データベースを削除しても、スペース)。

これを解決するには、メモリ消費量をわずか9%に戻したSqlServerを再起動しなければならず、すべてがスムーズでした。

関連する問題