0
我有一個「慢速查詢」,沒有找到「正確的」索引來避免緩慢的查詢。緩慢的查詢mysql沒有找到正確的索引
查詢是:
SELECT c.uid FROM tx_gwcalendar_competition c,tx_gestionprofildb_discipline d WHERE c.hidden=0 and c.deleted=0 and c.discipline=d.uid and d.usergroup=19 LIMIT 1;
,我的表是:
CREATE TABLE IF NOT EXISTS `tx_gwcalendar_competition` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL DEFAULT '0',
`tstamp` int(11) NOT NULL DEFAULT '0',
`crdate` int(11) NOT NULL DEFAULT '0',
`cruser_id` int(11) NOT NULL DEFAULT '0',
`sys_language_uid` int(11) NOT NULL DEFAULT '0',
`l10n_parent` int(11) NOT NULL DEFAULT '0',
`l10n_diffsource` mediumtext,
`deleted` tinyint(4) NOT NULL DEFAULT '0',
`hidden` tinyint(4) NOT NULL DEFAULT '0',
`title` tinytext,
`discipline` int(11) NOT NULL DEFAULT '0',
`dept` tinytext,
`ville` tinytext,
`distance` tinytext,
`date` int(11) NOT NULL DEFAULT '0',
`description` text,
PRIMARY KEY (`uid`),
KEY `parent` (`pid`),
KEY `deleted` (`deleted`,`hidden`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8659 ;
和
CREATE TABLE IF NOT EXISTS `tx_gestionprofildb_discipline` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL DEFAULT '0',
`tstamp` int(11) NOT NULL DEFAULT '0',
`crdate` int(11) NOT NULL DEFAULT '0',
`cruser_id` int(11) NOT NULL DEFAULT '0',
`deleted` tinyint(4) NOT NULL DEFAULT '0',
`hidden` tinyint(4) NOT NULL DEFAULT '0',
`libelle` tinytext,
`description` text,
`usergroup` int(11) NOT NULL DEFAULT '0',
`sportup_tag` tinytext,
`form_mutation` text,
`documents` text,
`mutation` tinyint(3) NOT NULL DEFAULT '0',
`nolicence` tinyint(3) NOT NULL DEFAULT '0',
`agendahtml` text,
`objectifhtml` text,
`havestat` tinyint(3) NOT NULL DEFAULT '0',
`description_conseil` text,
`frais_admin` tinytext,
PRIMARY KEY (`uid`),
KEY `parent` (`pid`),
KEY `deleted_hidden_libelle` (`deleted`,`hidden`,`libelle`(20))
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=53 ;
當我運行一個解釋,我得到了:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE c ALL deleted NULL NULL NULL 8658 Using where
1 SIMPLE d eq_ref PRIMARY PRIMARY 4 tbs888dbnew.c.discipline 1 Using where
我試圖把一個索引刪除/隱藏,但現在改變我仍然與第一行8658 key_len,如果我沒有把任何索引...我的知識在MySQL是有限的,所以我沒有知道該怎麼做(如果可能......)。
所以,如果有人有任何建議,請隨意。
非常感謝你
我只是嘗試,但沒有什麼變化...... STIL相同的結果。 謝謝 – Mitchum
@Mitchum看到我的編輯 – Eran
嗨,我試圖添加紀律關鍵,但沒有任何改變......我迷路了。謝謝 – Mitchum