2013-07-01 41 views
-1

是mysqli的程序比PDO類的簡單查詢更多更快,我沒有使用的輸入參數,因爲我不是關於對SQL注入Mysqli程序vs PDO?

+0

我不認爲一方或另一方會有明顯的速度優勢 - 要麼是好的!只要你不使用不推薦的'mysql'函數,就選擇其中一個。 – halfer

+0

在php服務器上的執行速度可能會更快嗎? –

+0

我很懷疑的mysqli和PDO之間的速度差會對您的應用程序產生任何影響,如果差值將會有大的影響,是至關重要的,那麼我建議,你可以使用NoSQL的替代MySQL的由於性能提升可能會大於這兩個選項之間的差異 – Anigel

回答

2

你只是設法在一個碗裏扔無與倫比的所有事宜。

「程序vs.OOP」無關的輸入參數,而無論他們倆有什麼關係的表現。

對於通用「的mysqli與PDO」的問題,我只能引用我other answer

  • 如果你瞭解使用數據庫抽象層,並尋找一個API來上創建一個的必要性,mysqli是一個不錯的選擇,因爲它確實支持很多mysql特有的功能。
  • 如果像絕大多數PHP人一樣,在應用程序代碼中使用原始API調用(這實質上是錯誤的做法) - PDO是唯一的選擇,因爲此API假裝爲半DAL ,還沒有完成,但提供許多重要功能,其中兩個使PDO嚴格從mysqli的區分:

    • 不同的mysqli,PDO可以通過值,這使得可行的動態構建的查詢,而無需相當混亂的幾個屏幕結合佔位符碼。
    • 不同的mysqli,PDO總是可以在一個簡單的平常數組的形式返回查詢結果,而mysqli的可mysqlnd安裝只做到這一點。
2

mysqli_query('SELECT 1')$pdo->query('SELECT 1')之間不存在性能差異。第二個是圍繞第一個的封裝,但與查詢的總體速度相比,它所帶來的性能損失是無關的,因爲速度,您不應該選擇其中一個。

還要注意,即使沒有參數,如果連續多次重複相同的查詢,因爲數據庫只需要在開始時編譯一次語句,而不是在每次執行時編譯語句,速度會更快。

+0

你有任何號碼可以證明你的「程序更快」嗎? – deceze

+0

@deceze:我的錯誤,我的意思是準備好聲明。我糾正了它。速度更快,因爲數據庫只能「編譯」查詢一次。 – Lepidosteus

+0

太糟糕了,這種連續執行每100000次執行一次只會發生一次。不是一個值得提及的數字,在我看來 –