我有一张这样的桌子:
CREATE TABLE `entries` (
`n` int(10) unsigned NOT NULL DEFAULT '0',
`title` varchar(255) NOT NULL DEFAULT '',
`description` varchar(255) NOT NULL DEFAULT '',
`c` char(6) DEFAULT NULL,
`c_path` char(24) DEFAULT NULL,
`a` char(8) DEFAULT NULL,
`a_path` char(32) DEFAULT NULL,
`hide_in_supercat` tinyint(1) NOT NULL DEFAULT '0',
`created` int(10) unsigned NOT NULL DEFAULT '0',
`edited` int(10) unsigned NOT NULL DEFAULT '0',
`t1` int(10) unsigned NOT NULL DEFAULT '0',
`t2` int(10) unsigned NOT NULL DEFAULT '0',
`status` set('waiting','enabled','disabled','queue','wait','preview') NOT NULL DEFAULT '',
`clicks_total` int(10) unsigned NOT NULL DEFAULT '0',
`popular` tinyint(1) NOT NULL DEFAULT '0',
`featured_until` int(10) unsigned NOT NULL DEFAULT '0',
`home_page_until` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`n`,`t1`,`t2`,`status`,`en_cats`),
KEY `category_page_index` (`c`,`c_path`,`hide_in_supercat`,`featured_until`,`highlight_until`),
KEY `category_page_index_2` (`c`,`c_path`,`hide_in_supercat`,`featured_until`,`highlight_until`,`created`,`clicks_total`),
FULLTEXT KEY `search` (`title`,`description`,`detail`,`keywords`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
我正在尝试运行以下查询:
select sql_no_cache * from gc_ads where c_path in ("_9_","_9_30_","_9_101_","_9_102_","_9_103_","_9_105_","_9_106_","_9_30_132_","_9_30_133_","_9_30_134_","_9_30_135_","_9_30_136_","_9_30_137_","_9_30_138_","_9_30_139_","_9_30_140_","_9_30_141_","_9_30_142_","_9_30_143_","_9_30_144_","_9_30_145_","_9_30_146_","_9_30_147_","_9_30_148_","_9_30_149_","_9_30_150_","_9_30_151_","_9_30_152_","_9_30_153_","_9_30_154_","_9_30_155_","_9_30_156_","_9_30_157_","_9_30_158_","_9_30_159_","_9_30_160_","_9_30_161_","_9_30_162_","_9_101_222_","_9_101_221_","_9_101_220_","_9_101_219_","_9_101_218_","_9_101_217_","_9_101_216_","_9_101_215_","_9_101_214_","_9_101_213_","_9_101_212_","_9_101_211_","_9_101_210_","_9_101_209_","_9_101_208_","_9_101_207_","_9_101_206_","_9_101_205_","_9_101_204_","_9_101_203_","_9_101_202_","_9_101_201_","_9_101_200_","_9_101_199_","_9_101_198_","_9_101_196_","_9_101_197_","_9_101_195_","_9_194_","_9_101_223_","_9_101_224_","_9_101_225_","_9_102_226_","_9_102_227_","_9_102_228_","_9_102_229_","_9_102_230_","_9_102_231_","_9_102_232_","_9_102_233_","_9_102_234_","_9_102_235_","_9_102_236_","_9_102_237_","_9_102_238_","_9_102_239_","_9_102_240_","_9_102_241_","_9_102_242_","_9_102_243_","_9_102_244_","_9_102_245_","_9_102_246_","_9_102_247_","_9_102_248_","_9_102_249_","_9_102_250_","_9_102_251_","_9_102_252_","_9_102_253_","_9_102_254_","_9_102_255_","_9_102_256_") AND status = 'enabled' and (hide_in_supercat!=1 or c='_9_') order by created desc limit 0,50;
解释给了我以下信息:
+----+-------------+--------+------+-------------------------------------------+------+---------+------+-------+-----------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------+------+-------------------------------------------+------+---------+------+-------+-----------------------------+
| 1 | SIMPLE | gc_ads | ALL | category_page_index,category_page_index_2 | NULL | NULL | NULL | 60554 | Using where; Using filesort |
+----+-------------+--------+------+-------------------------------------------+------+---------+------+-------+-----------------------------+
我对 MySQL 和索引比较陌生,所以这没有任何意义。我敢肯定,这可能是我缺少的一些简单概念。