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

रेल में किसी तालिका में कौन सी अनुक्रमणिका जोड़ना है?

यह बेहतर होगा, क्योंकि यह इस कॉलम में छँटाई में खोज को तेज करता है। और विदेशी कुंजियाँ बहुत कुछ खोजी जाती हैं।

चूंकि रेल के संस्करण 5 में सूचकांक स्वचालित रूप से बनाया जाएगा, अधिक जानकारी के लिए देखें यहां ए> ।

नहीं, यह पहले से ही रेल द्वारा किया जा चुका है

नहीं, ऊपर जैसा ही है

फिर सूचकांक दो स्तंभों का संयुक्त सूचकांक है। इसका कोई मतलब नहीं है, जब तक कि आप एक category_id . के लिए सभी प्रविष्टियां नहीं चाहते हैं और एक state_id (यह category_id होना चाहिए नहीं category ) उसी समय।

इस तरह का एक सूचकांक निम्नलिखित अनुरोध को गति देगा:

# rails 2
User.find(:all, :conditions => { :state_id => some_id, :category_id => some_other_id })

# rails 3
User.where(:state_id => some_id, :category_id => some_other_id)

कहां

add_index :users, :category_id
add_index :users, :state_id

इन अनुरोधों को गति देगा:

# rails 2+3
User.find_by_category_id(some_id)
User.find_by_state_id(some_other_id)

# or
# rails 2
User.find(:all, :conditions => {:category_id => some_id})
User.find(:all, :conditions => {:state_id => some_other_id})

# rails 3
User.where(:category_id => some_id)
User.where(:state_id => some_other_id)

नहीं, क्योंकि यदि आप ऐसा करते हैं, तो केवल एक उपयोगकर्ता एक श्रेणी में हो सकता है, लेकिन श्रेणी का अर्थ यह है कि आप अधिक कई डाल सकते हैं एक श्रेणी में उपयोगकर्ता। आपके User . में मॉडल आपके पास कुछ इस तरह है belongs_to :category और आपके श्रेणी मॉडल में has_many :users . जैसा कुछ है . अगर आपके पास has_many है foreign_key से संबंध बनाएं फ़ील्ड अद्वितीय नहीं होना चाहिए!

इस पर अधिक विस्तृत जानकारी के लिए आपको tadman पर एक नज़र डालनी चाहिए। बहुत अच्छा है ">उत्तर ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्थानीय चर के साथ गतिशील MySQL

  2. MySQL क्वेरी परिणाम में अनुक्रमिक संख्या कैसे दिखाएं

  3. ट्री ट्रैवर्सल एल्गोरिथम के आधार पर इस परिणाम सेट से ट्री व्यू कैसे उत्पन्न करें?

  4. Percona XtraBackup की तुलना MySQL एंटरप्राइज़ बैकअप से करना:भाग एक

  5. #1064 -आपके SQL सिंटैक्स में त्रुटि है; अपने MySQL सर्वर संस्करण से संबंधित मैनुअल की जाँच करें