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

कई टेबलों पर फ्रीटेक्स्ट COUNT क्वेरी बहुत धीमी है

थोड़ा सा परीक्षण एक त्रुटि के बाद मुझे एक समाधान मिला जो काम करता प्रतीत होता है। इसमें अनुक्रमित दृश्य बनाना शामिल है:

CREATE VIEW [dbo].[vw_ProductBrand]
WITH SCHEMABINDING
AS
SELECT     dbo.Product.ID, dbo.Product.Name, dbo.Product.SKU, dbo.Brand.Name AS BrandName
FROM         dbo.Product INNER JOIN
                      dbo.Brand ON dbo.Product.BrandID = dbo.Brand.ID

GO

CREATE UNIQUE CLUSTERED INDEX IX_VW_PRODUCTBRAND_ID 
    ON vw_ProductBrand (ID);
GO

अगर मैं निम्नलिखित क्वेरी चलाता हूं:

DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
GO

SELECT count(*) 
FROM   Product
       inner join vw_ProductBrand
         on Product.BrandID =  vw_ProductBrand.ID
WHERE  (contains(vw_ProductBrand.Name, 'pants') 
   or 
            contains( vw_ProductBrand.BrandName, 'pants'))

अब इसमें 1 सेकंड . लगता है फिर से।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पावर () SQL सर्वर में उदाहरण

  2. SQL सर्वर 2008 भौतिक सर्वर परिवर्तन पर मास्टर कुंजी त्रुटि खोलें

  3. LINQ क्वेरी में दो तिथियों के बीच आने वाली तिथि सीमा

  4. #temptable और ##TempTable में अंतर?

  5. किसी दिए गए मानदंड को पूरा करने वाले लगातार दिनों के समूह बनाना