SORU
8 EYLÜL 2010, ÇARŞAMBA


Tüm arasında çalışacak verimli SQL sorgu sınama veya doğrulama sorgu (veya en) veritabanları

Birçok veritabanı bağlantısı kitaplıkları havuzu tembellik için SQL bağlantılarını test olanağı sağlar. Örneğin, c3p0 bir özelliği vardır BULUNMAKTAYDI havuzu kütüphane yapılandırılmış aralıklarla bağlantı idam alır preferredTestQuery denir. Benzer şekilde, Apache Commons DBCP validationQuery vardır.

Gördüğüm birçok 18* queries *MySQL ve tavsiye için test sorgu için değer olarak SELECT 1; kullanıyor. Ancak, bu sorgu, bazı veritabanları (SELECT 1 FROM maddesi bekler örneğin HSQLDB,) çalışmıyor.

Bu veritabanı-agnostik benzer şekilde verimli ama herkes için çalışacak bir SQL sorgu veritabanları var mı?

Düzenleme:

Eğer durum böyle görünüyor) eğer değilse, birileri çeşitli veritabanı sağlayıcıları için SQL sorguları bir dizi önerir misiniz? Amacım Program aracılığıyla veritabanı sağlayıcısı benim yapılandırmasına bağlı olarak kullanabileceğim bir açıklama belirlemek için olurdu.

CEVAP
8 EYLÜL 2010, ÇARŞAMBA


Cevapları buradan yardım ile birlikte araştırma biraz sonra

SELECT 1

  • H2
  • MySQL
  • Microsoft Server (20* *göre) SQL
  • PostgreSQL
  • SQLite
SELECT 1 FROM DUAL

  • Oracle
SELECT 1 FROM any_existing_table WHERE 1=0

ya

SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS

  • HSQLDB (sürüm 1.8.0.10 ile test edildi)

    Not: denedim kullanarak bir WHERE 1=0 fıkra ikinci sorgu, ama işe yaramadı gibi bir değer için Apache Commons DBCP validationQuery beri sorgu gelmez geri herhangi bir satır


VALUES 1 SELECT 1 FROM SYSIBM.SYSDUMMY1

SELECT 1 FROM SYSIBM.SYSDUMMY1

  • DB2

select count(*) from systables

  • Informix

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Britec09

    Britec09

    4 Mart 2009
  • Jason Rosolowski

    Jason Rosolo

    25 EKİM 2006
  • RawBrahs

    RawBrahs

    28 Aralık 2010