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

ग्राहक.पीके_नाम लेनदेन में शामिल होना। एफके_नाम बनाम ग्राहक। पीके_आईडी [धारावाहिक] लेनदेन में शामिल होना। एफके_आईडी [पूर्णांक]

वे सही हैं। CHAR(30) टेक्स्ट फ़ील्ड में शामिल होना - विशेष रूप से व्यक्ति का नाम डेटा युक्त - धीमा, अत्यधिक अक्षम और अविश्वसनीय रूप से नाजुक होगा। लोग अपना नाम बदलते हैं (विवाह इसका स्पष्ट उदाहरण है), और कई लोगों का एक ही नाम हो सकता है।

आप उस क्रम का समर्थन करने के लिए अपनी तालिकाओं पर उपयुक्त अनुक्रमणिका बनाना चाहते हैं जिसमें आप डेटा दिखाना चाहते हैं, और क्लस्टरिंग को भूल जाएं। आपकी प्रदर्शन अनुकूलन प्रक्रिया एक आपदा की तरह लगती है जो घटित होने वाली जगह की तलाश में है। क्षमा करें, लेकिन इस तरह से तालिकाओं को गिराना/बनाना परेशानी मांग रहा है।

मैं Customer.id पर एक UNIQUE INDEX के साथ शुरू करूँगा, transaction.ticket_number पर एक UNIQUE INDEX, और एक INDEX (कार्डिनैलिटी के बजाय प्रदर्शन के लिए, इसलिए लेन-देन (आईडी, टिकट_नंबर डीईएससी) पर विशिष्टता को लागू करना बहुत महत्वपूर्ण नहीं है), और इसे से लें। वहाँ। डेटा को लेन-देन तालिका से उसी क्रम में लौटाया जाता है जिस क्रम में वह अनुक्रमणिका में दिखाई देता है।

मैं क्लस्टरिंग पर तभी विचार करूंगा जब क्वेरी ऑप्टिमाइज़ेशन के अन्य सभी रास्ते समाप्त हो गए हों।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विंडोज पर Oracle डाटाबेस 12c सॉफ्टवेयर इंस्टाल करना

  2. SQL सर्वर से Oracle में बार-बार डेटा ले जाना

  3. त्रुटि:ORA-65096:oracle में अमान्य सामान्य उपयोगकर्ता या भूमिका का नाम

  4. दो दिनांक स्तंभों से दिनांक सीमा उत्पन्न करें

  5. एसक्यूएल दो अद्वितीय कॉलम के साथ सबसे हाल की तारीख से पंक्तियों का चयन