mysql:499
From: Tamon Nomura <Tamon Nomura <tamon@xxxxxxxxxx>>
Date: Wed, 06 Jan 1999 21:16:46 +0900
Subject: [mysql 499] Re: where 節での最適化 (Re: あけましておめでとうございます。 )
tamonです。 > 「MySQL normally uses the index that finds least number of rows.」と > なってるので、「左から順番に」というわけではないと思います。 えと、これは言い回しが分かり難かったとおもいますが インデックスとしてcolumn1とcolumn2を含んだindexを作った場合、 selectのwhereで where column1=1 や where column1=1 and column2=1 というSQLの場合は、インデックスが使用され where column2=1 ではインデックスが使用されない。 ということでした。(マニュアルより) 単純に考えると where column2=1 and column1=1 はインデックスが使用されませんが、民斗さんの指摘どうりオプティマイザが where column1=1 and column2=1 に変換する為問題ないってことですね。早とちりでした。 どっちにしても、where column1=1だけでもindexが使用されるので、データ 検索の使用頻度を考えてindexを作成すれば、indexも少なくなるので ディスク容量やinsertでのindex書換えのオーバーヘッドも減るんじゃないかと。
482 1999-01-01 23:22 [<endo@xxxxxxxxxx> ] あけましておめでとうございます。 484 1999-01-02 01:51 ┣[<tommy@xxxxxxxxxx> ] 485 1999-01-02 07:49 ┃┣[<endo@xxxxxxxxxx> ] 494 1999-01-06 18:13 ┃┗[<yandy@xxxxxxxxxx> ] 489 1999-01-04 10:35 ┗[Tamon Nomura <tamon@] 490 1999-01-04 11:31 ┗[民斗 <tommy@xxxxxxxx] where 節での最適化 (Re: あけましておめでとうございます。 ) -> 499 1999-01-06 21:16 ┗[Tamon Nomura <tamon@] 500 1999-01-07 09:30 ┗[<endo@xxxxxxxxxx> ] 501 1999-01-07 09:44 ┗[Hideaki Nakayama <na] 503 1999-01-07 09:56 ┗[<endo@xxxxxxxxxx> ] 505 1999-01-07 10:03 ┗[Hideaki Nakayama <na]