/ / SQL क्वेरी एक विशिष्ट मान के साथ वास्तव में लंबा समय लेती है और अन्य नहीं - sql, सम्मिलित हों

एसक्यूएल क्वेरी एक विशिष्ट मूल्य के साथ वास्तव में लंबा समय लेती है और अन्य नहीं - एसक्यूएल, जॉइन

क्वेरी है:

SELECT COUNT(q."TopicId") as TotalQuestions
FROM "Questions" q
JOIN "QuestionScores" qs
ON qs."QuestionId"=q."id"
WHERE qs."version" = (SELECT "version"
FROM "QuestionScores"
ORDER BY "version" DESC
LIMIT 1)
AND qs."StudentId"= 105
AND q."status"="active"
AND q."TopicId" = 125
AND q."PassageId" IS NULL

इस क्वेरी में लगभग 90 सेकंड लगते हैं।

अगर मैं बदलता हूँ TopicId 18 तक, फिर यह एक सेकंड में चलता है। मामला क्या हो सकता है?

उत्तर:

उत्तर № 1 के लिए 1

मेरे दोस्त अगर मैं तुम होते तो मैं तुम्हारे कॉलम के लिए कुछ इंडेक्स बनाने पर विचार करता।

यहाँ सूचकांक के बारे में कुछ जानकारी दी गई है:

  1. सूचकांक कैसे बनाएं: https://www.w3schools.com/sql/sql_create_index.asp
  2. गुच्छेदार और गैर गुच्छेदार सूचकांक के बीच अंतर: https://docs.microsoft.com/en-us/sql/relational-databases/indexes/clustered-and-nonclustered-indexes-described
  3. इस मुद्दे पर इसके बारे में कुछ अच्छी व्याख्या: एसक्यूएल इंडेक्स और प्रदर्शन में सुधार