私は、大きくて複雑なMySQLデータベースの本質的にフレンドリーな読み取り専用フロントエンドであるプログラムの維持を支援しています-プログラムは、ユーザーの入力からアドホックSELECTクエリを構築し、クエリをDBに送信し、結果を取得します。それらを後処理し、ユーザーに適切に表示します。
構築されたクエリの期待されるパフォーマンスについて、何らかの形の合理的/ヒューリスティックな予測を追加したいと思います-ユーザーが不注意にクエリを実行すると、必然的に非常に長い時間がかかることがあります(膨大な結果セットが返されるため、またはDBのインデックス作成方法の「詳細に反する」)、クエリにかかる時間に関する「ある程度信頼できる」情報/推測をユーザーに表示できるようにしたいと思います。ユーザーがそれを無視することを学ぶ「泣き虫」効果を引き起こすほどひどく頻繁に現実との衝突から抜け出さない限り、それは完璧である必要はありません;-)この情報に基づいて、ユーザーは、コーヒーを飲みに行く(見積もりが5〜10分である場合)、昼食に行く(30〜60分である場合)、
MySQLのEXPLAINステートメントにあまり精通していません-クエリやDBのスキーマ、インデックス作成などを最適化するために使用する方法については多くの情報がありますが、より限定された目的で使用する方法についてはあまり詳しくありません--DBを与えられたものとして、単に予測を行います(もちろん、予測が十分に信頼できる場合は、最終的にはそれらを使用してクエリが取ることができる代替形式から選択するように切り替える可能性がありますが、それは将来のためです:今のところ、上記の目的のために、パフォーマンスの推測値をユーザーに示すだけで十分に満足しています)。
ポインタは...?