PreparedStatement预编译SQL,参数采用占位符的方式
为什么使用PreparedStatement
- 防止SQL注入风险
- 批处理,减少对数据库请求,减少程序耗时
PreparedStatement与Statement
两种方式,请求数据库的次数是相同。
Statement在数据库中属于一次编译使用(不使用占位符,不同的sql查询参数值,在数据库层面就是不同的SQL执行,不利用数据库层面的SQL缓存)
SQL耗时简单分析
SQL的耗时只要是在以下方面
- 解析SQL,生产执行计划
- 取数据
在解析SQL,生产计划,Statement属于一次性的使用。这款的耗时相比是增加的,在批处理的时候更能体现出来。
PreparedStatement多条语句,一次请求,可以用上相同的SQL执行计划,请求的次数减少,耗时也好。