PDA

Visualizza la versione completa : [MySQL] Massimo index tabella


Sandrocchio_0.1
11-10-2005, 22:38
Ciao ragazzi,
uso mysql 4, e ho creato una tabella per che si vuole registrare alla newsletter. Oltre ai soli campi ho inserito anche un campo tinyint (0/1) per ciascuna categoria trattata in modo che l'utente possa selezionare di ricevere solo le news che li interessano. Dato che il programma dovrà scorrere i record soprattutto per queste categorie mi chiedevo se fosse conveniente creare per ciascuna di essa un index. Il mio dubbio è che non serva im modo significativo al mio scopo o che appesantisca troppo il database nel suo lavoro.
Fatemi sapere cosa ne pensate.
Ciao

floyd
12-10-2005, 09:32
ho capito piuttosto poco
comunque metti come chiave primaria un number

Sandrocchio_0.1
13-10-2005, 09:31
questo è il dump

DROP TABLE IF EXISTS `neventcomunication`.`newsletter`;
CREATE TABLE `newsletter` (
`id` int(10) unsigned NOT NULL auto_increment,
`creatDate` date NOT NULL default '0000-00-00',
`name` varchar(45) default NULL,
`surname` varchar(45) NOT NULL default '',
`email` varchar(45) NOT NULL default '',
`privacy` tinyint(1) unsigned NOT NULL default '1',
`job` int(10) unsigned NOT NULL default '0',
`attualita` tinyint(1) unsigned NOT NULL default '0',
`appuntamenti` tinyint(1) unsigned NOT NULL default '0',
`cronaca` tinyint(1) unsigned NOT NULL default '0',
`economia` tinyint(1) unsigned NOT NULL default '0',
`iniziative` tinyint(1) unsigned NOT NULL default '0',
`formazione` tinyint(1) unsigned NOT NULL default '0',
`sindacale` tinyint(1) unsigned NOT NULL default '0',
`viabilita` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='newsletter user';

Questa potrebbe essere una query:

SELECT * FROM neventcomunication.newsletter WHERE appuntamenti = 1;

E' conveniente settare ogni campo categoria (attualita, economia, etc) come "key" in modo da rendere il databse più veloce?

Loading