PeeweeでSQLファイルの列を遡及的に索引付けする方法はありますか? (つまり、最初の指定がインデックスされていない場所)挿入をすべて実行してからインデックスを作成する方が速いはずです。Peeweeで索引を遡及的に作成しますか?
3
A
答えて
2
遡及してSQLファイルの列をPeeweeにインデックスする方法はありますか?
はい。 - インデックスを作成するテーブルの名前
ADD_INDEX(テーブル、列[、ユニーク= FALSE])
テーブル(STR):Pewee'sSchemaMigratorクラスはadding an indexのためのサポートを含みます。
列(リスト) - ユニーク(ブール値)
indexed.uniqueあるべき列のリスト - 新しいインデックスがユニーク制約を指定する必要があるかどうか。
あなたはpewee_migrate packageでペウィーを使用している場合、あなたはまだのように存在しているテーブルにインデックスを追加するためのデータベースの移行を作成することができます。
unique_index = False
def migrate(migrator, database, fake=False, **kwargs):
migrator.create_index('some_table', ('name_of_indexed_column',), unique_index)
def rollback(migrator, database, fake=False, **kwargs):
migrator.drop_index('some_table', ('name_of_indexed_column',), unique_index)
1
私は(他の回答で@doremiによって参照)add_index
を使用しての完全な例を示したかった:これはユニークなマルチカラムインデックスであることを
from peewee import SqliteDatabase
from playhouse.migrate import SqliteMigrator, migrate
db = SqliteDatabase('db.sqlite3')
migrator = SqliteMigrator(db)
migrate(
# Create a unique, multi-column index
migrator.add_index('table_name', ('col1', 'col2'), True),
)
注意(私はのためにインデックスを追加しています両方の列のユニークな値col1
とcol2
はtable_name
です)。あなたのニーズに合うように上記のコードを調整してください!
ドキュメントは「」の下にあります。少し下にスクロールして、「インデックスを追加する」の例を見つけてください。
0
あなたはピーウィー3.xを使用した場合も、行うことができます。
db = SqliteDatabase(':memory:')
class Note(Model):
content = TextField()
timestamp = TimestampField()
status = IntegerField()
class Meta:
database = db
User.create_table()
idx = Note.index('timestamp', 'status').where(Note.status == 1)
db.execute(User._schema._create_index(idx))
しかし、マイグレーを使用しても全く構いません。
関連する問題
- 1. TFS2010、遡及的にブランチを作成できますか?
- 2. gitで遡及的にsvnタグを再作成する
- 3. Core Location - Swiftで遡及的に情報を引き出す
- 4. メソッドにJava注釈を遡及的に追加しますか?
- 5. Subversive:SVNコミットメッセージを遡及的に変更しますか?
- 6. 遡及的にブランチの名前を変更しますか?
- 7. ワードプレス:遡及的に親カテゴリを追加します
- 8. 月々の遡及的更新
- 9. 既存のVMを遡及的にVNetに接続する(Azure)
- 10. Gitで遡及タグを追加する?
- 11. MySQLデータベースを遡及的に変更する
- 12. AWS Elastic Beanstalk - 遡及的にアプリケーションにロードバランサーを追加
- 13. 正規表現の遡及的バックトラッキングをスキップする方法
- 14. バージョンアップされたファイルをgit/TortoiseGitで遡及的に削除するには?
- 15. サイズ変更を遡及的に変更する - >以前の画像が無効になりました
- 16. Imgur APIからrequest-oauthを使用して遡及的にトークン情報を渡す
- 17. Python:索引作成にDictionaryを使用できますか?
- 18. YUI asyncRequestsを使用してアクティブなAJAX要求検出をコードベースに遡及的に追加する方法
- 19. 列に一意の制約を作成すると、自動的に索引が作成されますか?
- 20. 索引構成表にOracle Text索引を作成する方法は?
- 21. mysql検索文字列を動的に作成しますか?
- 22. HIVE - ALTER TABLE my_table CLUSTERED BY(my_field)32個のバケットに - 遡及して適用しますか?
- 23. OrientDB索引作成日
- 24. 索引作成のパフォーマンス
- 25. Peeweeはmysqlの代わりにsqliteで表を作成します
- 26. HTMLに浮かぶヘッダーを使用して索引を作成
- 27. Apache Solr DataImportHandlerが索引作成に失敗しました
- 28. heroku上のPeeweeとpostgres、テーブルを作成できません
- 29. peeweeの静的テーブル
- 30. OracleはFOREIGN KEY列の2次索引を自動的に作成しますか?