sql >> データベース >  >> RDS >> Mysql

実行時間に4秒を追加する結合のWHERE句

    最も可能性の高い説明は、その述語を追加するときにMySQLが別の実行プランを選択しているということです。

    2つのクエリのEXPLAIN出力を比較できます。1つはjourney_day.day=3です。 述語と述語なし。

    MySQLは別の結合順序を選択しており、MySQLはdayを持つインデックスを使用することを選択していると思います。 述語が含まれている場合の先頭の列として。そして、おそらくそれがより多くの行にアクセスして調べられる原因になっている、あるいはMySQLが行を除外する前に大きな中間セットを生成している可能性があります。



    1. MySQLでは、なぜこのIFがfalseを返すのですか?

    2. Laravel MySQLの順序付け方法は、whereIn句と同じ順序になります

    3. 15パズルのパターンデータベース(5-5-5)を作成するための実用的なソリューションが必要

    4. 1バイトで何文字保存できますか?