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

Защо да използвате ограниченията на външния ключ в MySQL?

Външни ключове наложи интегритет на препратка . Тези ограничения гарантират, че ред в таблица order_details с поле order_id препраща към orders таблицата никога няма да има order_id стойност, която не съществува в orders маса.

Не се изисква външни ключове да имат работеща релационна база данни (всъщност хранилище по подразбиране на MySQL двигателят не поддържа FKs), но те определено са от съществено значение, за да се избегнат прекъснати връзки и осиротяващи редове (т.е. референтна цялост). Възможността за налагане на референтна цялост на ниво база данни е необходима за C в ACID да стои.

Що се отнася до вашите притеснения относно производителността, като цяло има разходи за производителност, но вероятно ще бъдат незначителни. Предлагам да поставите всичките си ограничения за външния ключ и да експериментирате без тях само ако имате реални проблеми с производителността, които не можете да разрешите по друг начин.



  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:1305. FUNCTION JSON_EXTRACT не съществува във версия на MySQL клиент:5.5.52

  2. MySQL RAND() Функция – Генериране на произволно число в MySQL

  3. Как да настроите набора от символи и съпоставяне на таблица в MySQL

  4. PHP - Azure mySQL в приложението променени портове произволно

  5. Грешка #2002 Не мога да се свържа с локален MySQL сървър чрез сокет '/Applications/MAMP/tmp/mysql/mysql.sock' (2)