PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

STRICT संशोधक के बिना कार्य तेजी से निष्पादित होता है?

<ब्लॉककोट>

हो सकता है कि बार-बार होने वाले फंक्शन कॉल से एक ओवरहेड जो फंक्शन को इनलाइन करके सुव्यवस्थित किया गया हो?

मैं यही अनुमान लगाऊंगा। आपको वहां एक बहुत ही सरल अभिव्यक्ति मिली है। एक वास्तविक फ़ंक्शन-कॉल में संभवतः स्टैक सेटअप, पासिंग पैरामीटर आदि शामिल होते हैं।

नीचे दिया गया परीक्षण इनलाइन के लिए 5ms और सख्त के लिए 50ms का रन-टाइम देता है।

BEGIN;

CREATE SCHEMA f;

SET search_path = f;

CREATE FUNCTION f1(int) RETURNS int AS $$SELECT 1$$ LANGUAGE SQL;
CREATE FUNCTION f2(int) RETURNS int AS $$SELECT 1$$ LANGUAGE SQL STRICT;

\timing on
SELECT sum(f1(i)) FROM generate_series(1,10000) i;
SELECT sum(f2(i)) FROM generate_series(1,10000) i;
\timing off

ROLLBACK;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. खंड से अद्यतन में ग्रुप बाय

  2. FOR . में SQL क्वेरी डायनेमिक टेबल नाम

  3. अद्वितीय डेटाटाइम सीमा के लिए पोस्टग्रेज बाधा

  4. उच्च उपलब्धता के लिए PostgreSQL को कैसे परिनियोजित करें

  5. सभी तालिका नामों को सूचीबद्ध करने के लिए PostgreSQL क्वेरी?