3
表:このSQLクエリのインデックスはどのように作成できますか?
CREATE TABLE `deal` (
`id` int(11) NOT NULL default '0',
`site` int(11) NOT NULL default '0',
`time` bigint(13) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `site` (`site`),
KEY `time` (`time`,`site`)
) TYPE=MyISAM
SQLクエリ:
select * from `deal` where time>0 && site=8
は、私は、インデックスを作成します。
site
:このクエリの
time
、
だが、なぜこのクエリは常にインデックスを使用していますか?
explain select * from `deal` where time>0 && site=8
出力:
table type possible_keys key key_len ref rows Extra
deal ref site,time site 4 const 1 Using where
感謝zerkms、 'KEYサイト(サイト、時間が)'完全 'KEYを置き換えることができますサイト(サイト) '? (私は 'select * from deal from site = 123'も必要です) – Koerr
@ Zenofo:はい、それは"左端 "と呼ばれています。したがって、索引 'a + b + c'では、索引を「a」と「a + b」にする必要はありません。なぜなら、 – zerkms