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

Има ли полза от това да имаш първичен ключ с автоматично увеличение в обобщена таблица на MySQL?

Публикациите и категориите вероятно са много към много, а не едно към много.

Таблица за връзки много към много е най-добре да се направи нещо като

CREATE TABLE a_b (
a_id ... NOT NULL,
b_id ... NOT NULL,
PRIMARY KEY (a_id, b_id),
INDEX(b_id, a_id) -- include this if you need to go both directions
) ENGINE = InnoDB;

С това автоматично получавате „клъстерни“ търсения в двете посоки и избягвате ненужния изкуствен идентификатор за таблицата.

(Между другото, N.B., неявният PK е 6 байта, а не 8. Има дълга публикация от Джеръми Коул по темата.)

Връзката един към много не се нуждае от тази допълнителна таблица. Вместо това имайте един идентификатор в другата таблица. Например, таблица за град ще съдържа идентификатора за държавата.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка, за да получите всички продукти, категории и мета данни woocommerce/wordpress

  2. Мигриране на данни във Firebase от MySQL

  3. MAKETIME() Примери – MySQL

  4. Как да проверите ефективността на mysql заявката?

  5. mysql_connect():Няма такъв файл или директория