ブールフィールドのインデックスを作成するとパフォーマンスが向上しますか? 質問する

ブールフィールドのインデックスを作成するとパフォーマンスが向上しますか? 質問する

を含むクエリを記述しようとしていますWHERE isok=1。名前が示すように、isokはブール型フィールドです (実際には、TINYINT(1) UNSIGNED必要に応じて 0 または 1 に設定される です)。

このフィールドにインデックスを作成するとパフォーマンスが向上しますか? エンジン (この場合は InnoDB) はインデックスの検索でパフォーマンスが向上しますか、それとも低下しますか?

ベストアンサー1

ここで他のいくつかの回答についてもう少し詳しく説明すると、私の経験では、このような質問を見ている人は私たちと同じ状況にあるので、ブール型フィールドのインデックス作成は無意味であると聞いたことがありますが、それでも...

約 400 万行のテーブルがありますが、一度にブール スイッチのフラグが付けられるのは約 1,000 行程度で、これに対して検索が行われます。ブール フィールドにインデックスを追加すると、クエリが桁違いに高速化され、約 9 秒以上から 1 秒未満に短縮されました。

おすすめ記事