Ho una tabella MySQL che contiene descrizioni di dati, organizzati per id elemento di riferimento e codice lingua. La tabella contiene circa 1.200.000 campi e occupa più di 500MB su disco, secondo PHPMyAdmin.
Facendo una ricerca sulla tabella specificando una chiave nel where, impiega un tempo improponibile, nell'ordine delle decine di secondi... qualcuno ha qualche idea su come ottimizzare il tutto? Lavoro per ora su un mio server locale, ho tutto installato sul notebook, questo influirà penso, non so valutare quanto.
la tabella:
codice:
CREATE TABLE `descriptions` (
`id` int(8) unsigned NOT NULL auto_increment,
`description` text NOT NULL,
`element_id` int(8) NOT NULL default '0',
`langcode` varchar(3) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
Una select:
codice:
SELECT * FROM descriptions WHERE element_id = 1 AND langcode = 'en'
Potrebbe essere il campo di tipo TEXT a creare problemi?
Può aiutare provare a dividere i dati su più tabelle divise per lingua?
Grazie!