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

Alternatif untuk desain database dengan kolom yang disebutkan, yang mengarah ke kinerja yang buruk

Alih-alih

PRIMARY KEY (`expressionId`),
UNIQUE KEY `geneId` (`geneId`,`conditionId`),

gunakan

PRIMARY KEY(`geneId`,`conditionId`),
INDEX (`expressionId`),

Jika tidak ada tabel lain yang mereferensikan expressionId , singkirkan kolom itu dan indeks di atasnya.

Mengapa ini membantu? Data dikelompokkan dengan kunci Primer; Anda mencari data dengan geneId , yang merupakan awal dari PK; maka data dapat diambil lebih efisien, terutama jika tabel jauh lebih besar dari innodb_buffer_pool_size (yang seharusnya sekitar 70% dari RAM).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP / MySQL - Temukan semua item dalam radius 500 meter dari koordinat gps yang sebenarnya

  2. Format tanggal dan klarifikasi SQL Query

  3. PHP Encoding Error saat memproduksi XML dari database

  4. Masalah dengan pengumpulan Tomcat dengan Hibernate. batas waktu MySQL

  5. mysql Kesalahan fatal:tidak dapat mengalokasikan memori untuk kumpulan buffer