Pythonスクリプトでの使用のためにSQLiteを使用して(ブルートフォースのように)SQLiteを使用するのが効率的な方法であった場合、私は比較的新しいPythonを使っていますが、他のプログラミング言語でかなりの経験があり、現在、Backtrackで使用するペンテストツールに取り組んでいます。これまでのところ、私はPythonの速度とシンプルさに非常に感銘を受けました。私のSQLクエリは、ブルートフォースツールに必要なプレフィックスを返すのに理想的です。しかし、私はPythonで大きなデータファイルを格納するための標準は何かと思いますか?私の接頭辞を格納するためのより良い(より速い)方法を見落としているのは、単にSQLの快適さのためですか?私はPythonを使って0からnまでのIDを照会せず、それらを使うのではなく、Pythonを使って可能性を絞って、その条件に合致する辞書エントリを照会しています。どんな助けや意見も大歓迎です!Pythonを介したSQLiteの速さ
答えて
はい、sqliteは辞書を実装するための合理的な選択肢です。スピードを上げるには、:memory:オプションを使用し、ルックアップとクエリに適切なインデックスを作成してください。
大規模な永続データベースの場合は、正常に動作します。速度を上げるために、キーごとではなく大規模なトランザクションを実行するように注意してください。データストアは、彼らのウェブサイトで覆われているようsqliteのための
提案し、適切な使用:http://www.sqlite.org/features.html
レイモンドヘッティンガーもSQLiteのを推奨していた場合、それはおそらくあなたの最善の策です。
しかし、ネイティブのPythonソリューションでは、「ピクル」ファイルを使用することになります。データを保持しているPython dict
をビルドし、次にdictを "pickle"します。後で、あなたは「辞めない」ことができます。あなたが検索する必要があるキーが1つしかない場合、これはおそらく良い方法かもしれません。
Python 2.xでは、cPickle
モジュールを使用することをお勧めします。 Python 3.xでは、pickle
しかありませんが、私はそれがcPickle
と同じくらい速いと信じています。一方
http://docs.python.org/library/pickle.html
データセットは、SQLiteのはそれで窒息し始め、その後、代わりに複数の小さなSQLiteのファイルにそれを分割し、それらを管理している、それはなるかもしれないほど大きい本当に大きい場合PostgreSQLのような実際のデータベースにすべてをダンプするだけでいいのです。
セミオフトピック、ここにいくつかの便利なリンクがあります。
THC-Hydra:また、ここでP
は、パスワードポリシーと強引に、その後使用上の偉大なビデオです。
http://www.irongeek.com/i.php?page=videos/hack3rcon2/martin-bos-your-password-policy-sucks
- 1. ? Pythonを介したSQLiteクエリで見られない
- 2. SQLIteデータベースを介したオブジェクトへのアクセス
- 3. NHibernateを介したSQLiteトリガーの作成
- 4. SQLiteレコードの更新速度が改善されました
- 5. iCloudを介したSQLiteの更新伝播の待ち時間
- 6. Python sshを介したプロセスの終了
- 7. Python - Pandasデータフレーム - 列を介した反復
- 8. DBF/Foxpro - ネットワークを介した超低速クエリ
- 9. Python + sqlite:ワイルドカードを使用したLIKEクエリ
- 10. Pythonの紹介
- 11. エキスパンドリストビューで厄介なSQLiteクエリの問題
- 12. SQLiteデータベースは、ContentProviderを介して送信された最後のレコードのみを保存します
- 13. Antを介してSQLiteに複数の引数を渡す
- 14. Sqliteのクエリ速度を向上させる
- 15. Pythonを介してクエリされたAPIの結果の保存とグラフ化。
- 16. Python SQLite http://www.sqlitetutorial.net/sqlite-python/creating-database/
- 17. pythonクラス:内部関数;ネストされた点を介してアクセスします
- 18. ソケットを介してファイルをコピーする最速の方法
- 19. Pythonクラッタバインディングの紹介?
- 20. APIエラーのpython APIを介して
- 21. Python FlaskのResponseオブジェクトを介したデータの送信
- 22. 関数を介してSqliteを渡すデータベース
- 23. SQLite - 挿入速度を向上させる
- 24. pythonスクリプトを介してpiwikにハードコードされたイベントを送信する方法
- 25. Android高速実行のsqliteクエリ
- 26. Python 3 sqliteのパラメータ化されたSQLクエリ
- 27. サーブレットを介してアンドロイドでSqliteと接続
- 28. ソケットを介して送信されたpythonパケットはクリアテキストですか?
- 29. Android SQLite:どのクエリ(「クエリ」または「rawQuery」)が高速ですか?
- 30. SQLiteのは、私が迅速かつSQLLiteで新たなんだ
どのくらい速くなりたいですか? MB、GB、TBのデータセットのサイズはどれくらいですか? 「プレフィックス」とは、「プレフィックスツリー」(トライ)と同じですか?データに対して実行する操作は、リレーショナル・モデルにどれだけ対応していますか? – jfs