Mysql
 sql >> база данни >  >> RDS >> Mysql

Въвеждането на външни ключове в MySQL намалява ли производителността

Ако приемем:

  1. Вече използвате машина за съхранение, която поддържа FK (т.е. InnoDB)
  2. Вече имате индекси на участващите колони

Тогава предполагам, че ще получите по-добра производителност, като MySQL налага интегритет. Налагането на референтния интегритет в крайна сметка е нещо, за което двигателите на базата данни са оптимизирани. Написването на собствен код за управление на целостта в Ruby ще бъде бавно в сравнение.

Ако трябва да преминете от MyISAM към InnoDB, за да получите функционалността на FK, трябва да вземете предвид компромисите в производителността между двата двигателя.

Ако все още нямате показатели, трябва да решите дали ги искате. Най-общо казано, ако четете повече, отколкото пишете, искате (нуждаете се дори от) показателите.

Подреждането на FK върху нещата, които в момента са индексирани, би трябвало да доведе до по-малко общо въздействие върху производителността, отколкото прилагането на тези видове проверки в кода на приложението ви.



  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. Иконата на Wampserver не става зелена напълно, mysql услугите не се стартират?

  4. MySQL- Не може да се премине към ред 0 на MySQL резултатния индекс

  5. Как да задам MySQL като база данни по подразбиране в Rails 3?