sto usando questa tabella (MySQL/Motore: MyISAM):Perché GROUP BY sul FULLTEXT INDEX utilizzando temporanea?
CREATE TABLE `activities` (
`id_activity` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_doc` int(10) unsigned NOT NULL DEFAULT '0',
`node_id` tinytext NOT NULL,
`title` tinytext NOT NULL,
`name` tinytext NOT NULL,
`keywords` tinytext NOT NULL,
`page_type` tinytext NOT NULL,
`page_screen_id` tinytext NOT NULL,
`page_screen_question` tinytext NOT NULL,
PRIMARY KEY (`id_activity`),
KEY `name` (`name`(255)),
FULLTEXT KEY `node_id` (`node_id`,`title`,`name`,`keywords`,`page_type`,`page_screen_id`,`page_screen_question`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
(ci sono circa 100.000 righe)
Ecco la mia domanda:
EXPLAIN SELECT 1
FROM `activities`
GROUP BY `node_id`, `title`, `name`, `keywords`, `page_type`, `page_screen_id`, `page_screen_question`;
- ID: 1
- select_type: SIMPLE
- tabella: attività
- Tipo: TUTTI
- possible_keys: NULL
- chiave: NULL
- key_len: NULL
- ref: NULL
- righe: 613.011
- Extra: Utilizzo temporaneo; Uso filesort
Non capisco perché il mio query utilizza temporanea ... e non so come evitare questo ... Grazie
[ 'In alcuni casi, MySQL è in grado di fare molto di meglio e per evitare la creazione di tabelle temporanee utilizzando Index access.'] (http://dev.mysql.com/doc/refman/5.1/en /group-by-optimization.html) –
@DavidStarkey ho letto questo argomento, ma v'è in realtà un indice sul mio 'GROUP clausola BY' –
c'è una ragione temporanea è un problema? –