高速にしたいクエリが1つありますが、まだ理解していないことがあります。
3 つのクエリを使用して単純なテストを行います。
私のテーブルには列があり
1
、3
通常のキーを持つ int (それぞれに独自のインデックスがあります)
15
と 35 はフルテキスト キーを持つ文字列 (それぞれに独自のインデックスがあります) です。
初め
select `1` from el where ( `15`='Bump' or `35`='Bump' and `3`='1' ) limit 1;
時間: 250ms
2番
select `1` from el where ( `35`='Bump' and `3`='1' ) limit 1;
時間: 0.024ms
三番
select `1` from el where ( `15`='Bump' and `3`='1' ) limit 1;
時間: 0.007ms
私の質問は次のとおりです。また、それを修正する方法は?
前もって感謝します!
編集: これは mysql の制限であり、実際には修正できないようです。そのため、1 つではなく 2 つのクエリを実行することにしました。0.031ms が得られ、0.270ms よりも優れています。