しない WHERE WEEK(column)=something
のようなものを使用します -これはパフォーマンスキラーです。一致していなくても、すべての行の週数を計算します。それに加えて、この列のインデックスを使用できなくなります。
代わりに、データ型に応じて、絶対的な開始日と終了日または特定の時点を計算してから、BETWEEN
を使用してください。 。これにより、一致しない行の計算は行われず、インデックスを使用できるようになります。
経験則:定数とフィールドのどちらで計算するかを選択できる場合は、前者を使用してください。