3

を使用して動的データベースを作成しています。上記のコードは正常に機能しますが、クエリで関数InitSpatialMetadata()を使用すると、データベースの作成が非常に遅くなります。
ファイルは 0kb から始まり、完全に作成されるまで毎秒 2 ~ 5kb ずつ増加します。すべてのプロセスが完了するまでに約 2 ~ 3 分かかり、最終的なファイルのサイズは 3 MB です。誰かがすでにこの問題を抱えていましたか?

import sqlite3
db = sqlite3.connect('C:/test.sqlite')
cursor = db.cursor()
cursor.execute("SELECT InitSpatialMetadata()")
4

4 に答える 4

3

空間メタデータをベースに構築しており、3 MB が標準サイズです。

リクエストを高速化するには、begin/commit トランザクションを使用してサイレント モードで続行します。

cursor.execute("BEGIN ;")
cursor.execute("SELECT InitSpatialMetadata()")
cursor.execute("COMMIT ;")
于 2014-07-15T15:20:06.750 に答える
0

基本的な sqlite3 モジュールの代わりに pyspatialite を使用すると、これはもはや問題ではないことがわかりました (少なくとも Windows 上で) - https://github.com/lokkju/pyspatialite

于 2015-10-23T14:05:31.520 に答える