- - PR -
エンタープライズマネージャーでのテーブルの行数について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-03-28 19:43
SQLサーバー2000で、SQLサーバー7.0のテーブルをインポートしてきたのですが、できたテーブルのプロパティの「行」の数を比べてみると、テーブルによってですが、2000のほうが少ないものがあります。
全部インポートしてこられなかったのかと思って、 select count(*) from テーブル名 で数えてみると、同じでした。もとのテーブルの行数と同じでした。 行、イコール、データ件数だと思っていたのですが、違うんでしょうか。 違うなら違うでもいいのですが、一番心配なのは、新しいテーブルをすぐアプリケーションで使っても問題ないのでしょうか。 サポートサイトなどで調べたけどわかりませんでした。よろしくお願いします。 |
|
投稿日時: 2006-03-31 13:22
こんにちは。
テーブルの正確な行数は、フリスキーさんが試されたように SELECT COUNT(*) FROM テーブル名 を実行して調べます。 しかし、Enterprise Manager のプロパティに表示される[行:]項目は、sp_MStablespace というストアドプロシージャを利用しています。 この辺りの動作はプロファイラで確認できます。 sp_MStablespace は行数として sysindexes というシステムテーブルの rows 列を返しているようなので、このあたりに不整合があるのではないでしょうか。 まずは DBCC UPDATEUSAGE を試してみてください。 http://msdn2.microsoft.com/ja-jp/library/ms188414(SQL.90).aspx それでも改善しなければテーブルのインデックスを張り直すことで解決すると思います。 |
1