Navicatブログ

1つのステートメントで複数のテーブルを更新する 2022年11月17日  Robert Gravelle

よくご存じのとおり、複数のサーバーにヒットすると、アプリケーションの速度が低下する可能性があります。そのため、開発者はできるだけ少ないステートメントを使用してデータを更新する最も効率的な方法を見つけようとします。結局のところ、SQL UPDATEステートメントは、この構文を使用して複数のテーブルからのフィールドの設定をサポートします:

Cサブクエリと結合の選択 2022年11月11日 Robert Gravelle

ブログ記事 Joins versus Subqueries: Which Is Faster?では、結合はサブクエリよりも高速に実行される傾向があることを学びました。そうは言っても、これは普遍的なルールではないため、結合が望ましいと自動的に想定したくない場合があります。その記事で述べたように、クエリに多くの結合を追加する必要がある場合、データベースサーバーはより多くの作業を行う必要があり、データの取得時間が遅くなる可能性があります。この記事では、結合を使用するクエリとサブクエリを含むクエリを比較するために実行できるいくつかの簡単なテストを紹介し、どちらが最適かを選択できるようにします。

リレーショナルデータベースでNull値を許可することのいくつかのデメリット 2022年11月7日 Robert Gravelle

2020年に、The NULL Value and its Purpose in Relational Database Systems(リレーショナルデータベースシステムにおけるNULL値とその目的)について学びました。その記事で述べたように、値NULLは、値が存在しないことを意味する特別なマーカーになりました。NULL値は、列が値を持つことができることを示している可能性がありますが、その値がどうあるべきかはまだわかりません。そのような状況では、テーブルフィールドに実際の値を入力するために必要なデータを最終的に収集するまで、それらはプレースホルダーとして機能します。

さらに、全ての主要なデータベースベンダーがデフォルト値としてNULLをサポートしていることを考えると、NULLを使用することだけが理にかなっていますね。どうしても必要な場合を除き、NULLの使用を避けるデータベース設計者がいます。彼らは私たちが知らない何かを知っているのでしょうか?続きを読んで見つけてください!

Navicat 16でデータベースの構造のみをバックアップする方法 2022年10月28日 Robert Gravelle

定期的なデータベースバックアップの実行を信じていないデータベース管理者(DBA)はほとんどいませんが、最善の方法については多くの意見があります。どちらのアプローチを支持する場合でも、データベーススキーマのコピーを保持する理由は十分にあります。データが失われた場合は、スキーマからデータベース構造を復元し、最新のデータバックアップを使用してデータを取り込むことができます。

MySQLなどの一部のデータベースベンダーは、データベース構造を単独でバックアップするための無料のユーティリティ(つまりmysqldump)を提供していますが、それには特定の管理ツールを必要とするベンダーもあります。Navicat ユーザーの場合、外部ツールは必要ありません。データのバックアップはバックアップウィザードを使用して実行できますが、スキーマはデータ転送ツールを使用してコピーできます。このブログでは、その方法を学びます。

MySQLで外部結合をエミュレートする 2022年10月24日 Robert Gravelle

先週の記事では、SELECTクエリの外部結合に光を当てました。関連するテーブルから一致した行と一致しない行の両方を返すJOINのタイプです。残念ながら、これはMySQLを含む全てのデータベース(DB)ベンダーでサポートされているわけではありません。しかし、大丈夫です。なぜなら、外部結合は、他の3つのJOINのタイプ、つまり、LEFT JOIN(左結合)、INNER JOIN(内部結合)、およびRIGHT JOIN(右結合)を組み合わせることでエミュレートできるためです。この記事では、JEFT JOINとRIGHT JOINについて詳しく説明し、INNER JOINと組み合わせてOUTER JOINを作成する方法について説明します。

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