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

SQL सर्वर 2008 में पैरामीटरयुक्त दृश्य बनाएं

एक इनलाइन तालिका-मूल्यवान फ़ंक्शन बनाने का प्रयास करें। उदाहरण:

CREATE FUNCTION dbo.fxnExample (@Parameter1 INTEGER)
RETURNS TABLE
AS
RETURN
(
    SELECT Field1, Field2
    FROM SomeTable
    WHERE Field3 = @Parameter1
)

-- Then call like this, just as if it's a table/view just with a parameter
SELECT * FROM dbo.fxnExample(1)

यदि आप चयन के लिए निष्पादन योजना देखते हैं तो आपको फ़ंक्शन का उल्लेख बिल्कुल नहीं दिखाई देगा और वास्तव में आपको केवल अंतर्निहित तालिकाओं को पूछताछ की जा रही है। यह अच्छा है क्योंकि इसका मतलब है कि क्वेरी के लिए निष्पादन योजना तैयार करते समय अंतर्निहित तालिकाओं के आंकड़ों का उपयोग किया जाएगा।

बचने की बात एक बहु-कथन तालिका मूल्यवान फ़ंक्शन होगी क्योंकि अंतर्निहित तालिका आँकड़ों का उपयोग नहीं किया जाएगा और खराब निष्पादन योजना के कारण खराब प्रदर्शन हो सकता है।
क्या से बचें का उदाहरण :

CREATE FUNCTION dbo.fxnExample (@Parameter1 INTEGER)
    RETURNS @Results TABLE(Field1 VARCHAR(10), Field2 VARCHAR(10))
AS
BEGIN
    INSERT @Results
    SELECT Field1, Field2
    FROM SomeTable
    WHERE Field3 = @Parameter1

    RETURN
END

सूक्ष्म रूप से भिन्न, लेकिन किसी क्वेरी में फ़ंक्शन का उपयोग किए जाने पर प्रदर्शन में संभावित रूप से बड़े अंतर के साथ।



  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. टी-एसक्यूएल में एकाधिक कॉलम पिवट

  3. SQL सर्वर प्रबंधन स्टूडियो (SSMS) में क्लिपबोर्ड रिंग के माध्यम से साइकिल - SQL सर्वर / TSQL ट्यूटोरियल भाग 8

  4. Windows 10 UWP ऐप से SQL सर्वर डेटाबेस से कैसे कनेक्ट करें

  5. SQL LIKE क्लॉज में SqlParameter का उपयोग काम नहीं कर रहा है