| Autor | Zpráva | ||
|---|---|---|---|
| nethor Profil |
#1 · Zasláno: 9. 1. 2013, 09:01:32
Zdravím,
v db mám tabulku, ve které je uloženo, jaký uživatel smí upravovat kterou stránku: CREATE TABLE `psat` ( `id_stranky` int NOT NULL , `uzivatel` int NOT NULL ) ; Má význam použít key? CREATE TABLE `psat` ( `id_stranky` int NOT NULL , `uzivatel` int NOT NULL , KEY id_stranky (id_stranky) ) ; |
||
| Tori Profil |
nethor:
A na co se té tabulky budete ptát: 1. Najdi všechny uživatele, kteří můžou editovat tuhle stránku (= index na id_stranky), nebo 2. Může tento uživatel editovat tuto stránku? (= index přes oba sloupce), nebo 3. obě varianty (= index přes oba sloupce, přičemž id_stranky uvedete jako první) Podle mě to význam má, dost možná se pak budou příslušné hodnoty číst jen z indexu, aniž by bylo nutné hledat příslušný řádek, což je rychlejší. |
||
| Kajman Profil |
#3 · Zasláno: 9. 1. 2013, 09:47:00
On tam stejně patří primární klíč na kombinaci těch dvou sloupců.
|
||
| nethor Profil |
#4 · Zasláno: 9. 1. 2013, 11:41:37
Tori:
Dotazy jsou prakticky 2: * Může tento uživatel editovat tuto stránku? * Které stránky může upravovat uživatel = id ? Kajman: „primární klíč na kombinaci dvou sloupců“ Tedy takto?: CREATE TABLE `psat` ( `id_stranky` int NOT NULL , `uzivatel` int NOT NULL , PRIMARY KEY pagesuser (id_stranky,uzivatel) ) ; |
||
| Tori Profil |
nethor:
> Dotazy jsou prakticky 2: > * Může tento uživatel editovat tuto stránku? > * Které stránky může upravovat uživatel = id ? Tak potom spíš PRIMARY KEY pagesuser (uzivatel,id_stranky) - aby mohlo MySQL využít index i při tomto vyhledávání. |
||
| nethor Profil |
#6 · Zasláno: 9. 1. 2013, 13:13:02
Tori:
Aha, díky. |
||
|
Časová prodleva: 14 let
|
|||
0