我有一个相当大的SQLite数据库填充数据库,我试图索引的表有大约170米的记录。回想起来,我应该在填充之前创建索引,但现在已经太晚了。每当我运行下面提供的索引代码时,一切都会在锁定之前的前10分钟内正常运行。当这个脚本运行时,我没有对数据库做任何事情。
con = lite.connect('database/AISdatabase.db')
with con:
cur = con.cursor()
cur.execute("CREATE INDEX longitude_index ON MessageType1 (longitude)")
错误:
File "indexer.py", line 10, in <module>
cur.execute("CREATE INDEX longitude_index ON MessageType1 (longitude)")
sqlite3.OperationalError: database is locked
real 10m14.274s
user 8m41.176s
sys 0m34.562s
我在python脚本中而不是在SQLite中运行它的原因是因为我在SQLite3 Error: no such table: main.MessageType1
中收到以下错误(只有当我尝试编制索引时才会收到此错误,因为查询等会很好)。