Statement與PreparedStatement的區別

當重複執行多次一個sql,而只是參數不同時,執行多少次sql

一、Statement爲一條Sql語句生成執行計劃

Statement就會生成多少個個執行計劃,而且每次都是從零開始執行,效率不高;

Statement會將變量直接用於sql,這點也不安全。

二、PreparedStatement只生成一個執行計劃

而PreparedStatement只生成一次執行計劃,對sql語句進行了預處理,通過綁定變量,每次改變變量的值,來進行新的查詢,效率較高;

PreparedStatement會將變量強制類型轉換,然後裝入sql語句的“?”中,比較安全對於庫中數據類型來說。

preparedStatement.setDate(1, java.sql.Date.valueOf(dtstr));
preparedStatement.setString(2,orderId);
preparedStatement.setString(3,popuId);

當執行一次或者少量若干次語句

當sql語句執行少次時,最好還是用statement,雖然PreparedStatement操作的比較快,但是系統開銷 比較大

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章