2011-01-06 77 views
1

我知道PyMySQLDb,這是訪問MySql最簡單/最輕的方式嗎?什麼是Python最快/性能最高的SQL驅動程序?

+1

我敢打賭,數據庫磁盤訪問,網絡I/O和計算的答案,查詢的動作將是更爲比由SQL驅動程序施加的開銷昂貴。 – Thanatos 2011-01-06 22:09:28

+2

我同意@Thanatos。如果MySQL是給定的,那麼介紹數據庫的設計和優化,並使用最方便的Python驅動程序。 – Apalala 2011-01-06 22:30:42

回答

3

最簡單的方法是使用ctypes並直接調用MySQL API,當然,不使用任何翻譯層。現在,這很醜陋,會讓你的生活悲慘,除非你也寫C,所以是的,MySQLDb擴展是使用MySQL的標準和最高性能的方式,同時仍然使用Python數據庫API。幾乎其他任何東西都將建立在它或其前任之上。

當然,連接層很少出現所有數據庫速度問題。這主要是由於濫用了您擁有的API或構建錯誤的數據庫或查詢。

5

最快的是SQLAlchemy。

「說什麼!?」

好吧,一個不錯的ORM,我喜歡SQLAlchemy,你會讓你的代碼更快完成。如果你的代碼運行速度慢了0.2秒,那麼它不會有什麼明顯的區別。 :)

現在,如果您遇到性能問題,那麼您可以考慮改進代碼。但是選擇理論上誰是「最快」的訪問模塊是過早優化。

+0

如果您的代碼運行速度慢0.2秒並不會產生任何「顯着差異」 - 您是基準嗎? – 2011-01-07 00:40:42

+0

這就是我的觀點。 – 2011-01-07 07:03:30

+0

所以一個需要50ms運行的查詢現在需要250ms?也許這對某些用例是可以接受的,但不是全部。 – 2012-12-10 19:33:14

0

MySQLdb的是速度,同時SQLAlchemy的使代碼更人性化 - :)

相關問題