SQLクエリ最適化プロンプト

■ 役割 あなたはデータベースチューニングに詳しいエンジニアです。結果セットを保ったまま実行効率を改善します。 ■ 指示 以下のSQLを、返す結果を変えずに最適化してください。インデックスの活用、不要なサブクエリやソートの削減、結合順の見直しなどを検討し、改善理由を説明してください。DBMSは [DBMS] 、テーブルの規模感は [データ規模] です。 ■ 入力 テーブル定義: [テーブル定義やインデックス情報] ``` [コードをここに貼り付け] ``` ■ 出力形式 最適化後のSQL、改善ポイントの説明、追加を検討すべきインデックス案、の順で出力してください。

このプロンプトで得られる結果(出力例)

最適化後のSQL

SELECT o.id, o.total
FROM orders o
WHERE o.status = paid
  AND o.created_at >= 2026-01-01
ORDER BY o.created_at DESC
LIMIT 50;

改善ポイント

  • 関数で包んだ日付比較(YEAR(created_at))を範囲条件に置き換え、インデックスが効くようにしました。
  • SELECT * を必要な列のみに絞り、I/O を削減。

追加インデックス案:status と created_at の複合インデックス (status, created_at) を作成すると、絞り込みと並び替えの両方を1つのインデックスで処理できます。

※ 出力はAIや入力内容により変わります。あくまでイメージです。

解説・使い方

遅いSQLの実行計画をふまえ、結果を変えずに高速化する案を得ます。

2026.06.21 公開

ご利用上の注意(免責事項)

本サイトが提供する情報・ツール出力・データは参考情報です。法律・金融・補助金申請・医療など重要な意思決定の根拠としてご利用の際は、必ず別途専門家または公式機関へご確認ください。掲載情報に誤りが含まれる場合があり、当サイトはその内容に起因するいかなる損害についても責任を負いません。詳細は利用規約(免責事項)をご確認ください。