Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [mysql] massimo index tabella

    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

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    ho capito piuttosto poco
    comunque metti come chiave primaria un number

  3. #3
    questo è il dump
    codice:
    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:
    codice:
    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?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.