Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> kilka pól primary key
Tartut
post 23.11.2011, 20:00:34
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 29.03.2011

Ostrzeżenie: (0%)
-----


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. );
Go to the top of the page
+Quote Post
Crozin
post 23.11.2011, 20:39:28
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Tartut
post 23.11.2011, 20:52:30
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 1
Dołączył: 29.03.2011

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedź. wink.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 04:45