1

データが多すぎるMicrosoftAccessデータベース(.mdb)があります。コードまたはレコードを削除してデータを削除すると、データは完全に削除されます。ただし、データベースのサイズは同じままで(つまり、減少しません)、自動番号フィールドは、レコードを削除する前に保存された最後の番号から始まります。(MySqlの空のデータベース)のような方法があるかどうかを尋ねます。これにより、データベーススキームを、新しく作成され、以前にデータが含まれていなかったかのように設定できます。ありがとう

4

2 に答える 2

2

データベースを圧縮して修復したい。

使用している MS-Access のバージョンによって異なりますが、2010 では [データベース ツール] リボンで見つけることができます。

基本的に、MS-Access からレコードを削除しても (ハード ドライブ上のファイルと同様)、すぐに削除されるわけではありません。レコードを削除済みとしてマークするだけです。DB が新しいレコードを書き込む必要がある場合、(スペースのサイズが適切であれば) データベースのサイズを大きくするのではなく、これらの領域の 1 つに上書きしようとする可能性があります。

とりわけ、データベースの圧縮と修復を行うと、これらの削除されたレコードがすべてデータベースから削除されます。

それは質問につながります。定期的にやるべきですか?必ずしもそうではありませんが、ハード ドライブの最適化のように。場合によっては、DB 内のすべての空白スペースを削除してパフォーマンスを低下させます (サイズが定期的に変化するレコードがあり、それらに割り当てられたスペースに収まらなくなることがあります)。また、圧縮と修復にはリスクがないわけではありません (機能しているデータベースを取得して、修復できないほど破損させたことがあります) - 最初にバックアップを作成することをお勧めします。

于 2011-06-07T16:55:00.853 に答える
2

@CodeSlaveの回答は、質問のデータベースサイズの部分をカバーしています。

AutoNumber フィールドについても質問しましたが、それを 1 に戻す方法についても質問しました。Allen Browne は、各テーブルをループして AutoNumber フィールドをリセットする方法を示しています。

http://allenbrowne.com/ser-40.html

于 2011-06-08T08:56:36.007 に答える