2010-07-08 12 views
6

Java'da Hazırlanmış Deyimler ile ilgili aşağıdaki sorularım var.Hazırlanan Deyimler ve JDBC Sürücüleri

  1. SQL Query'de herhangi bir Where cümlesi yoksa, Hazırlanmış Deyimleri kullanmak yararlı mıdır? Basit bir sorgu varsayın * Tablename'dan seçin;

  2. Hazırlanan Bildirimin bir kez derlendiği ve yalnızca değerlerin ikinci kez değiştirildiği söylenir. Bu nedenle Query doğrulama ve derleme adımı atlanabileceğinden daha hızlıdır. Derlenmiş form nerede saklanır? Bu derlenmiş formun yaşam süresi nedir? geçirilecek parametreler olduğunda ve sorgu sürekli yürütülecek olduğunda

+1

İyi Detay: [http://stackoverflow.com/questions/5497297/what-does-pre-compiling-a-jdbc-preparedstatement-do][1] [1 ]: http://stackoverflow.com/questions/5497297/what-does-pre-compiling-a-jdbc-preparedstatement-do – Awan

cevap

2
  1. bir PreparedStatement faydalıdır. Bir kez kovulacak basit bir sorgu varsa, bir Bildirge daha hızlı kanıtlayacaktır. Önbellekleme, DB sunucusunda gerçekleşir. DB sunucusu, derlenmiş sorguları önbelleğe almaya yardımcı olan API'lere sahiptir. Bu nedenle, sorguların tekrarlı yürütülmesi için, aynı derlenmiş sorgu tekrar çalışır ve performansı artırır.

+0

Basit bir "tabename'den * seç" bile derlenmeli ve bir yürütme planı hesaplanmalıdır. Kazanç muazzam olmayabilir. Derlenmiş form hiçbir zaman yeniden hesaplanmamalı, ancak yürütme planı, örtülü tablolardaki veya dizinlerdeki değişikliklere bağlı olarak değişebilir. –

+0

# 2 maddesi tamamen doğru değil. Apps sunucusu kendi PreparedStatement önbelleğini sağlayabilir, Weblogic bunlardan biridir. – RealHowTo

2
  1. Kullanım PreparedStatement her kullanıcıdan bir giriş veya daha fazlası var. SQL Injection ve sorgulardaki hataları önlemek için gerekli karakterlerden kaçmanıza yardımcı olacaktır.
Öncesi derleme hakkında