मैं मेजओरेकल: एकल एकाधिक सूचकांक या दो एकल स्तंभ अनुक्रमणिका
create table1(
column1 number(10,
column2 number(10),
column3 number(10)
);
column1
प्राथमिक कुंजी column2
और column3
है 2 कॉलम
मैं बनाया है अद्वितीय बाधा है
alter table table1
add constraint table1_contr1 unique(column1,column2)
using index tablespace tbs1;
जब मैं इंडेक्स बनाने गया दोनों कॉलम पर
create index table1_idx1 on table1(column1,coulmn2);
ERROR at line 1:
ORA-01408: such column list already indexed
तो जब मैं अद्वितीय बाधा उत्पन्न करता हूं तो ओरेकल पहले ही इंडेक्स बना देता है। लेकिन अगर मैं अलग सूचकांक बनाने यह स्वीकार कर रहा है उन
create index table1_idx1 on table1(column1);
create index table2_idx2 on table2(column2);
अब मेरे सवाल है, दोनों स्तंभ मैं अभी भी प्रत्येक स्तंभ पर एक सूचकांक बनाने के बारे में चिंता करने की जरूरत है पर अद्वितीय बाधा होने के बाद? क्या ऑब्जेक्ट तक पहुंचने पर प्रत्येक कॉलम पर इंडेक्स के बिना प्रदर्शन पर असर पड़ेगा?
यह ऑरैकल 11R2 पर है।
जब आप कहते हैं कि 'कॉलम 2' और' कॉलम 3 'विदेशी कुंजी हैं, तो क्या आपका मतलब है कि' कॉलम 2, कॉलम 3 'का संयोजन एक समग्र प्राथमिक कुंजी के साथ एक एकल मूल तालिका के लिए एक विदेशी कुंजी है? या प्रत्येक कॉलम प्राथमिक कुंजी के साथ पैरेंट टेबल को अलग करने के लिए 'कॉलम 2' और 'कॉलम 3' में से प्रत्येक विदेशी कुंजी हैं? यदि 'कॉलम 1' पहले से ही प्राथमिक कुंजी है, तो आप 'कॉलम 1' और 'कॉलम 2' के संयोजन पर एक अद्वितीय बाधा क्यों बना रहे हैं। 'कॉलम 1' पहले से ही अद्वितीय है इसलिए इसका संयोजन और कुछ भी अद्वितीय होगा। क्या आपका मतलब था कि आप 'col2, col3' पर एक अद्वितीय बाधा बना रहे हैं? –
मुझे खेद है, टाइपो त्रुटि। मैं अद्वितीय बाधा बना रहा हूं (col2, col3)। – user2824874