<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    最開始 我在程序里使用SQL訪問數據庫時,都是直接用“+”將字段值嵌到SQL中。?

    String?sql? = ? " select?s.name?from?student?s?where?s.id=' " ? + ?sId? + ? " ' ";


    后來我開始使用PreparedStatement,在SQL里使用“?”標記參數,然后用setXXX方法給參數賦值。當時只知道這樣用是因為有setDate,setTimeStamp這些用“+”連接不能直接嵌入的值。

    感覺PreparedStatement在性能方面應該也能快點,可能DBMS會重用,但不明底層原理。

    這次《數據庫實現》課程終于讓我弄懂了:每個SQL語句都要通過 語法分析 -> 生成邏輯查詢計劃 -> 邏輯優化 -> 物理優化 等步驟生成具體的執行計劃,用PreparedStatement就可以生成一個執行計劃,以后只是參數改變(相當于執行計劃的執行環境改變),前面的四個步驟也會省略,從而提高了效率。

    如果一個SQL語句要被反復多次執行,或多用戶同時操作,則應選用PreparedStatement!



    版權所有 羅明
    posted on 2006-11-01 20:18 羅明 閱讀(1782) 評論(19)  編輯  收藏 所屬分類: JavaProgramTechStudyDatabase
    Comments
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句?
      GoKu
      Posted @ 2006-11-12 10:34
      用參數傳遞的方式更安全,代碼也更易讀懂,速度也稍有提升  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      羅明
      Posted @ 2007-08-26 21:44
      還有一個原因,可能就是樓上說的安全吧^_^,今天剛發現的-_-!

      ******************************************
      評論人:liusoft 發表時間: Wed Dec 03 09:22:35 CST 2003
      千萬不要把參數值寫在SQL語句中

      如果你用 insert into table1 values(?,?,?);

      然后調用PreparedStatement.setFloat(3,234234235.234);

      就不會使得234234235.234變成2.34234235234E8字符串了
      *******************************************
      原評論見:http://www.javaresearch.org/article/10854.htm  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      傳世私服
      Posted @ 2008-05-31 22:31
      1936  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      傳奇世界私服
      Posted @ 2008-05-31 22:32
      1377  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸世界私服
      Posted @ 2008-05-31 22:32
      1497  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸世界私服
      Posted @ 2008-05-31 22:32
      6294  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸世界私服
      Posted @ 2008-05-31 22:33
      0183  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸世界私服
      Posted @ 2008-05-31 22:33
      2809  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸世界私服
      Posted @ 2008-05-31 22:33
      9272  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸世界私服
      Posted @ 2008-05-31 22:33
      6601  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸世界私服
      Posted @ 2008-05-31 22:33
      1074  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸私服
      Posted @ 2008-05-31 22:33
      6279  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸私服
      Posted @ 2008-05-31 22:34
      1367  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸私服
      Posted @ 2008-05-31 22:34
      3520  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸私服
      Posted @ 2008-05-31 22:34
      9155  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸私服
      Posted @ 2008-05-31 22:34
      7091  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸私服
      Posted @ 2008-05-31 22:34
      5462  回復  更多評論   
    • # re: 為什么用PreparedStatement而不是直接用"+"連接SQL語句
      魔獸私服
      Posted @ 2008-05-31 22:34
      0216  回復  更多評論   
    • # Unikal'Nyi Kontent
      Unikal'Nyi Kontent
      Posted @ 2009-05-18 03:38
      Hi everyone. We require from buildings two kinds of goodness: first, the doing their practical duty well: then that they be graceful and pleasing in doing it.
      I am from Norway and also am speaking English, tell me right I wrote the following sentence: "So often when people encounter seo and want to start optimizing their sites they different consultants define seo differently.We offer affordable seo, ppc, search engine optimization, pay per click."

      :-) Thanks in advance. Helki.  回復  更多評論   
     
    主站蜘蛛池模板: 91香蕉国产线观看免费全集| 羞羞视频免费观看| 最近中文字幕免费2019| 亚洲av无码精品网站| 国产羞羞的视频在线观看免费| 亚洲午夜久久久久久久久久| 国产特黄特色的大片观看免费视频| 亚洲一级特黄大片无码毛片 | 一级做α爱过程免费视频| 久久精品国产精品亚洲| 成全视成人免费观看在线看| 国产亚洲A∨片在线观看| 免费观看91视频| 亚洲成人福利在线| 午夜视频在线在免费| 色网站在线免费观看| 国产自偷亚洲精品页65页| 精品免费tv久久久久久久| 亚洲日本香蕉视频观看视频| 成人免费视频小说| 暖暖免费中文在线日本| 亚洲AV午夜福利精品一区二区| 麻豆国产精品免费视频| 亚洲AV无码专区在线观看成人 | 国产不卡免费视频| 99精品视频免费| 91亚洲性爱在线视频| 日本免费福利视频| 99在线视频免费观看| 亚洲卡一卡2卡三卡4麻豆| 日日AV拍夜夜添久久免费| 91在线免费视频| 亚洲中文字幕无码中文| 久久久精品国产亚洲成人满18免费网站 | 在线观看免费亚洲| 久操视频免费观看| 精品视频免费在线| 亚洲福利电影一区二区?| 亚洲精品国产精品乱码不卞| 亚洲免费观看网站| caoporn国产精品免费|