के साथ कनेक्शन के लिए अच्छी तकनीक मैं पोस्टग्रेएसक्यूएल को .NET के माध्यम से एक्सेस करने के लिए Npgsql
का उपयोग कर रहा हूं। मैं डेटाबेस से कनेक्शन करने के सही तरीके से चिंतित हूं, क्योंकि मेरी राय में यह एक कनेक्शन खोलने के लिए एक महंगा ऑपरेशन है और फिर हर बार इसे बंद करने के लिए मैं कुछ लेनदेन करना चाहता हूं।PostgreSQL
तो यहां एक सामान्य उपाय है:
public class PostgreSQL
{
private NpgsqlConnection conn; // <- one connection for this object, open all the time
public PostgreSQL(string connString)
{
conn = new NpgsqlConnection(connString);
conn.Open();
}
// ...here making some queries...
public void Close() => conn.Close(); // <- use this in the very end of the program
}
आप ऊपर देख सकते हैं, मैं PostgreSQL
वर्ग का एक उदाहरण के लिए एक कनेक्शन है।
मेरा प्रश्न:
इस दृष्टिकोण सही है? या क्या मैं लेनदेन करना चाहता हूं हर बार कनेक्शन खोलना और बंद करना चाहिए - जितनी जल्दी हो सके उतनी देर तक खुलें और जितनी जल्दी हो सके बंद करें?
यदि मुझे हर बार कनेक्शन खोलना और बंद करना चाहिए - क्या मुझे एक कतार लिखनी चाहिए जो समवर्ती कनेक्शन की मात्रा को सीमित करेगी? या PostgreSQL इसे स्वयं संभाल लेंगे - और, सैद्धांतिक रूप से, मैं 200 कनेक्शन खोल सकता हूं और यह ठीक रहेगा।
मेरे साथ अपने अनुभव को साझा करें ^^
संपादित करें: मैं 100-200 एक दूसरे प्रश्नों चलेंगे।
आपको शायद यह जोड़ना चाहिए कि आप डेटाबेस से कितनी बार पूछना चाहते हैं। –
@ जकुबकानिया बस इसे जोड़ा, 100-200 प्रश्न एक सेकंड। –
'Npgsql' में अंतर्निहित कनेक्शन पूलिंग है, इसलिए आप पूछताछ करते हैं कि कनेक्शन बंद नहीं होंगे और भले ही आप 'बंद करें)' और 'ओपन()' कॉल करें। लेकिन क्या यह एक डेस्कटॉप एप्लीकेशन है? प्रश्न समवर्ती हैं? –