Navicatブログ

SQLの述語 2022年5月3日 Robert Gravelle

今週は、「よくあるSQLクエリの間違い」シリーズの「一時停止」ボタンを一時的に押して、SQLの述語について説明したいと思います。その理由は、述語がよくあるSQLクエリの間違いシリーズのパート3に含まれるためです。

よくあるSQLクエリの間違い – パート2 2022年4月26日 Robert Gravelle

パート2: 非SARGableクエリの条件

ほとんどのプログラマーと同様に、データベース開発者は、多かれ少なかれ特定の要求の直接変換であるコードを作成する傾向があります。ほとんどのプログラミング言語(SQLを含む)が人間が読めるように設計されているという事実も、この問題の原因です。なぜこれが懸念事項なのですか?全てのプログラミング言語は、特定の操作を他よりも高速に実行します。リレーショナルデータベースでは、クエリオプティマイザがSQLクエリを分析し、クエリプランと呼ばれる効率的な実行メカニズムを決定します。オプティマイザは、クエリごとに1つ以上のクエリプランを生成します。各プランは、クエリを実行するための1つの可能な方法を示します。最も効率的なクエリプランがその後選択され、クエリの実行に利用されます。結局のところ、リクエストの言語を模倣するSQLが最も効率的なアプローチになることはめったにありません。

よくあるSQLクエリの間違いシリーズの今回の記事では、不十分に記述されたSQLステートメントの1つの例を調査し、効率を高める方法でそれを書き直します。

よくあるSQLクエリの間違い – パート1 2022年4月11日 Robert Gravelle

NOT IN 対 NOT EXISTS

「アンチパターン」と呼ばれるプログラミングサークルで一般的に使用される用語があります。これは、効果がないだけでなく、非常に逆効果になるリスクがある、繰り返し発生する問題への対応を指します。この用語は、1995年にコンピュータープログラマーのAndrew Koenigが著書『Design Patterns』で、信頼性と効果の両方を備えていると考えられているデザインパターンの反対として造られました。

MySQLでの日付と時刻の操作 - パート5 2022年4月1日 Robert Gravelle

日付によるクエリ

MySQLの日付と時刻に関するこのシリーズのこの最後の記事では、SELECTクエリを記述してデータに対する日付関連の洞察を取得することにより、これまでに学んだことを全て実践します。

MySQLでの日付と時刻の操作 - パート4 2022年3月22日 Robert Gravelle

日付/時刻の作成

日付と時刻に関するこのシリーズでは、MySQLの5つの時間データタイプと、その多くの日付/時刻指向関数のいくつかについて説明しました。この記事では、MySQLで日付と時刻を作成するいくつかの方法について説明します。

ブログのアーカイブ
シェア