SQLite/削除してもファイルサイズが小さくならない場合の対処
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* SQLiteでレコードを削除してもファイルサイズが小さくなら...
SQLiteでレコードを削除(DELETE)してもファイルサイズは変わ...
これは、削除したエリアをそのままにして再活用するためです。~
従って、開いた(削除した)領域を開放するには、VACUUMという...
以下に例を記しながら説明します。
尚、操作はUbuntuで行いました。
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 関連記事 [#g03d7ee7]
-[[WindowsにSQLite3のインストール>SQLite/WindowsにSQLite3...
-[[CentOSにSQLite3をインストール>SQLite/CentOSにSQLite3を...
-[[UbuntuにSQLite3をインストール>SQLite/UbuntuにSQLite3を...
* 使用するデータベースファイルおよびデータ内容 [#jdff266f]
使用するデータベースとデータ内容は以下の通りです。
- 使用するデータベースファイル名はtestdb.sqlite3になりま...
サイズは4096バイトです。
sakura@ubuntu:~$ ls -l
合計 4
-rw-r--r-- 1 sakura sakura 4096 2月 7 10:47 testdb.sql...
- SQLite3を起動しテーブル名およびデーブル構成を確認してい...
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
t1
sqlite> .schema t1
CREATE TABLE t1 (
a,
b,
c
);
sqlite> select count(*) from t1;
88
sqlite> .q
* 実際にレコード削除してみる [#k81fc818]
-DELETEで全レコードを削除しました。
sakura@ubuntu:~$ sqlite3 testdb.sqlite3
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> delete from t1;
sqlite> select count(*) from t1;
0
sqlite> .q
-ファイルサイズは変わっていません。
sakura@ubuntu:~$ ls -l
合計 4
-rw-r--r-- 1 sakura sakura 4096 2月 7 10:48 testdb.sql...
* VACUUMコマンドを実行しファイルサイズを確認する [#a38ee7...
vacuum;コマンドを実行したあとの結果です。~
ファイルサイズが小さくなっているのが確認できます。~
つまり空きエリアを開放したのが確認できました。
sakura@ubuntu:~$ sqlite3 testdb.sqlite3
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> vacuum;
sqlite> .q
sakura@ubuntu:~$ ls -l
合計 4
-rw-r--r-- 1 sakura sakura 2048 2月 7 10:50 testdb.sql...
以上、SQLiteで削除してもファイルサイズが小さくならない場...
#htmlinsertpcsp(db-btm.html,db-sp.html)
終了行:
#navi(../)
* SQLiteでレコードを削除してもファイルサイズが小さくなら...
SQLiteでレコードを削除(DELETE)してもファイルサイズは変わ...
これは、削除したエリアをそのままにして再活用するためです。~
従って、開いた(削除した)領域を開放するには、VACUUMという...
以下に例を記しながら説明します。
尚、操作はUbuntuで行いました。
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 関連記事 [#g03d7ee7]
-[[WindowsにSQLite3のインストール>SQLite/WindowsにSQLite3...
-[[CentOSにSQLite3をインストール>SQLite/CentOSにSQLite3を...
-[[UbuntuにSQLite3をインストール>SQLite/UbuntuにSQLite3を...
* 使用するデータベースファイルおよびデータ内容 [#jdff266f]
使用するデータベースとデータ内容は以下の通りです。
- 使用するデータベースファイル名はtestdb.sqlite3になりま...
サイズは4096バイトです。
sakura@ubuntu:~$ ls -l
合計 4
-rw-r--r-- 1 sakura sakura 4096 2月 7 10:47 testdb.sql...
- SQLite3を起動しテーブル名およびデーブル構成を確認してい...
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
t1
sqlite> .schema t1
CREATE TABLE t1 (
a,
b,
c
);
sqlite> select count(*) from t1;
88
sqlite> .q
* 実際にレコード削除してみる [#k81fc818]
-DELETEで全レコードを削除しました。
sakura@ubuntu:~$ sqlite3 testdb.sqlite3
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> delete from t1;
sqlite> select count(*) from t1;
0
sqlite> .q
-ファイルサイズは変わっていません。
sakura@ubuntu:~$ ls -l
合計 4
-rw-r--r-- 1 sakura sakura 4096 2月 7 10:48 testdb.sql...
* VACUUMコマンドを実行しファイルサイズを確認する [#a38ee7...
vacuum;コマンドを実行したあとの結果です。~
ファイルサイズが小さくなっているのが確認できます。~
つまり空きエリアを開放したのが確認できました。
sakura@ubuntu:~$ sqlite3 testdb.sqlite3
SQLite version 3.7.9 2011-11-01 00:52:41
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> vacuum;
sqlite> .q
sakura@ubuntu:~$ ls -l
合計 4
-rw-r--r-- 1 sakura sakura 2048 2月 7 10:50 testdb.sql...
以上、SQLiteで削除してもファイルサイズが小さくならない場...
#htmlinsertpcsp(db-btm.html,db-sp.html)
ページ名: