Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy złożone unikalne klucze są indeksowane w MySQL? - DBMS

Więc dla swoich pól, id (PK), userId (FK) i skillId (FK), mysql automatycznie utworzy indeks na (id) (unikalny) i indeks na (userId) (nieunikalne) i indeks na (skillId) (nie unikalny).

Nadal potrzebujesz dodatkowego unikalnego indeksu na (userId, skillId) .

Może to zastąpić nieunikalny indeks w (userId) ponieważ optymalizator może użyć (userId, skillId) indeksuj zawsze, gdy trzeba szukać według userId . Jednak tworzenie i usuwanie indeksów, gdy indeks jest używany przez klucz obcy w mysql może być kłopotliwe, więc możesz po prostu dodać złożony unikalny indeks.



  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 — Utwórz nową tabelę przy użyciu danych i kolumn z trzech tabel

  2. Tabela Unpivot w MySQL

  3. Zapisz DataFrame Pandy w bazie danych MySQL

  4. Wybierz produkty według wielu atrybutów, używając zamiast tego łącznika ORAZ, modelu danych EAV

  5. Bezpiecznie przechowuj użytkowników Android Firebase Auth w bazie danych MySQL