Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kilka pól primary key
Forum PHP.pl > Forum > Bazy danych > MySQL
Tartut
Mam tabelę users i 4 klucze podstawowe. Czy to jest wydajne? Czy może lepiej klucz podstawowy ustawić tylko dla pola user_id?
  1. CREATE TABLE users
  2. (
  3. user_id int UNSIGNED AUTO_INCREMENT NOT NULL,
  4. login varchar(30) NOT NULL,
  5. pass char(32) NOT NULL,
  6. user_ip int(11) UNSIGNED NOT NULL,
  7. email varchar(255) NOT NULL,
  8. nick varchar(20) NOT NULL,
  9. avatar varchar(255) NOT NULL,
  10. points int NOT NULL DEFAULT 0,
  11. group_id int(2) NOT NULL,
  12. ses_start int(12) NOT NULL,
  13. ses_id char(32) NOT NULL,
  14. state enum('1', '0'),
  15. PRIMARY KEY(user_id, login, email, nick)
  16. );
Crozin
Masz jeden klucz podstawowy, złożony z czterech kolumn. I o ile w zapytaniach nie używasz tych czterech kolumn do identyfikacji rekordu (czego na 99,9% nie robisz) jest to złe rozwiązanie.
Tartut
Dzięki za odpowiedź. wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.