Autor | Zpráva | ||
---|---|---|---|
es Profil * |
#1 · Zasláno: 29. 1. 2008, 13:57:45
CREATE TABLE `u` (
`I` BINARY(4) NOT NULL, `C` smallint(3) unsigned ZEROFILL NOT NULL default '0', `D` datetime NOT NULL default '0000-00-00', `U` varchar(200) default NULL, `V` varchar(50) default NULL, PRIMARY KEY (`I`,`C`,`D`), KEY `D` (`D`), CONSTRAINT `EU` FOREIGN KEY (`I`, `C`) REFERENCES `e` (`I`, `C`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci; Chcel by som vedieť, či je užitočný index D pre dotaz: SELECT * FROM u WHERE I='aa' AND C=1 ORDER BY D; alebo je MySQL schopná využiť na zoradenie primárny alebo cudzí kľúč. |
||
djlj Profil |
#2 · Zasláno: 29. 1. 2008, 14:37:51
Měl by se použít ten primární klíč. Sám to můžeš zkusit, dej si před dotaz do databáze EXPLAIN.
|
||
es Profil * |
#3 · Zasláno: 29. 1. 2008, 15:24:04
Měl by se použít ten primární klíč. Sám to můžeš zkusit, dej si před dotaz do databáze EXPLAIN.
Z nejakej lituratúry viem, že tento primárny index sa dá použiť na kombinácie I, I+C, I+C+D. Teoreticky sa asi dá použiť aj pre ten dotaz, keďže všetky I a C sú v ňom rovnaké, no chcel som vedieť či sa to tak aj využíva. |
||
Časová prodleva: 16 let
|
0