AImager

预先编译生成执行计划,主要两个优势,一是防止sql注入,二是提高性能。

以jdbc为例,还加入了客户端prepared,这样整个服务端和普通状态没有任何区别,但是通过客户端也能起到防止sql注入的能力。

  • 客户端开启prepared,不开启缓存:和普通状态没啥区别
  • 客户端开启prepared,开启缓存:因为是本地缓存,所以相比不开启缓存提升非常少
  • 服务端开启prepared,不开启缓存:性能最差,相比于普通状态需要频繁prepared
  • 服务端开启prepared,开启缓存:性能最好,相同语句只需要一次prepared