Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kapan menambahkan indeks apa dalam tabel di Rails

Akan lebih baik, karena mempercepat pencarian dalam pengurutan di kolom ini. Dan kunci Asing adalah sesuatu yang banyak dicari.

Karena Rails Versi 5, indeks akan dibuat secara otomatis, untuk informasi lebih lanjut lihat di sini .

Tidak, ini sudah dilakukan dengan rel

Tidak, sama seperti di atas

Maka indeks adalah indeks gabungan dari dua kolom. Itu tidak masuk akal, kecuali jika Anda ingin semua entri untuk satu category_id DAN satu state_id (Seharusnya category_id bukan category ) secara bersamaan.

Indeks seperti ini akan mempercepat permintaan berikut:

# 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)

Dimana

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

akan mempercepat permintaan ini:

# 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)

Tidak, karena jika Anda melakukan ini, hanya satu pengguna yang dapat berada dalam satu kategori, tetapi arti dari kategori adalah Anda dapat menempatkan lebih banyak banyak pengguna ke dalam satu kategori. Di User . Anda model Anda memiliki sesuatu seperti ini belongs_to :category dan dalam model Kategori Anda sesuatu seperti has_many :users . Jika Anda memiliki has_many hubungan foreign_key kolom tidak boleh unik!

Untuk informasi lebih detail tentang ini, Anda harus melihat tadman bagus jawab .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gagal membaca nilai kenaikan otomatis dari mesin penyimpanan, Nomor Kesalahan:1467

  2. Bagaimana saya bisa Mengimpor data dari CSV ke MySQL?

  3. Pemecahan masalah Tidak ada file atau direktori saat menjalankan `php app/console doktrin:skema:buat`

  4. Bagaimana saya bisa mencari berdasarkan emoji di MySQL menggunakan utf8mb4?

  5. mysql ke php ke xml menunjukkan usia kosong