2011-01-06 8 views
1

私はPyMySQLDbを知っていますが、それはMySqlにアクセスするのが最も薄い/最も軽い方法ですか?Pythonのための最も速い/最も性能の高いSQLドライバは何ですか?

+1

SQLドライバによって課されるオーバーヘッドよりも高価です。 – Thanatos

+2

私は@ Thanatosに同意します。 MySQLが与えられている場合は、データベースの設計と最適化に気をつけ、Pythonに最も便利なドライバを使用してください。 – Apalala

答えて

3

可能な限り軽い方法は、ctypesを使用し、もちろん翻訳レイヤーを使用せずにMySQL APIを直接呼び出すことです。今では、これは醜いですし、あなたもCを書いていない限り、あなたの人生は悲惨なものになるでしょう。はい、MySQLDb拡張は、Python Database APIを使用しながらMySQLを使用する標準的で最も効果的な方法です。それ以外のものは、その前身の一人の上に建てられます。

もちろん、すべてのデータベース速度問題が発生する場所はほとんどありません。これは主に使用しているAPIを悪用したり、悪いデータベースやクエリを作成したりすることによるものです。

5

最も速いのはSQLAlchemyです。

「何だ!」

いいORMですが、私はSQLAlchemyが好きです。あなたのコードははるかに速く完了します。もしあなたのコードが0.2秒遅く走っていれば、実際には目立った違いはありません。 :)

パフォーマンスの問題が発生した場合は、コードを改善することができます。しかし、理論上誰が「最速」であるのかというアクセスモジュールを選ぶことは時期尚早の最適化である。 SQLAlchemyのコードよりユーザーフレンドリーになりながら

+0

あなたのコードが0.2秒遅く実行されている場合、実際には「顕著な違い」は生じません。ベンチマークですか? –

+0

それは私の主張です。 –

+0

今実行するのに50msかかるクエリは250msかかるでしょうか?おそらく、これはいくつかのユースケースでは受け入れられますが、すべてではありません。 –

0

のMySQLdbは高速です - 私は、DBのディスクがアクセスすると、ネットワークは、I/O、およびクエリに対する答えを計算する行為ははるかにあることを行っている賭けるだろう:)

関連する問題