2009-07-26 6 views
-2

Voici le code pour créer une table dans la base de données mysql.MYSQL créer une optimisation de commande?

CREATE TABLE IF NOT EXISTS `hightraffic` (
    `id` int(11) NOT NULL auto_increment, 
    `videoID` int(11) NOT NULL default '0', 
    `userid` int(11) NOT NULL, 
    `name` varchar(255) NOT NULL default '', 
    `title` int(11) NOT NULL default '0', 
    `date` datetime NOT NULL default '0000-00-00 00:00:00', 
    PRIMARY KEY (`id`), 
    KEY `videoID ` (`videoID `), 
    KEY `date` (`date`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=342 ; 

Je veux savoir ce qui suit:

  1. Quelle est KEY, est-il la clé primaire ou son indice?
  2. Pourquoi est-ce que KEY est appliqué sur videoID et la date?
  3. S'il n'y aura pas de clé sur videoId et la date, alors y a-t-il des problèmes de performance, ou si c'est là alors quels sont les avantages de performance et pourquoi?
+2

Une idée folle, mais vous voudrez peut-être lire la documentation en ligne MySQL (ou en général un document d'information général sur SQL) - il devrait éclaircir ces problèmes beaucoup plus rapidement qu'une ressource communautaire telle que SO. –

Répondre

4
  1. KEY est juste un index.
  2. C'est VOTRE schéma, une question étrange à poser. Avez-vous trouvé cela en ligne quelque part? Vous voudrez peut-être lire sur database indexes.
  3. S'il n'y a pas de clés (index) sur ces valeurs, vous ne pourrez pas bénéficier d'un index lors du filtrage par ces colonnes. Voir le lien ci-dessus.
Questions connexes