データベース インデックスは、テーブル操作の速度を向上させることを目的としたデータ構造です。高速なランダム検索とレコードへのアクセスの効率的なソートを提供する 1 つ以上の列を使用してインデックスを作成できます。 インデックスを作成するには、SQL クエリを作成するためにどの列を使用するかを検討し、それらの列に 1 つ以上のインデックスを作成する必要があります。 実際、インデックスは、主キーまたはインデックス フィールドへのポインターを保持し、各レコードを実際のテーブル タイプにポイントするテーブルでもあります。 インデックスはユーザーには表示されません。クエリを高速化するためにのみ使用され、データベース検索エンジンによってレコードの検索速度を向上させるために使用されます。 SELECT ステートメントはこれらのテーブルに対して高速に動作するので、INSERT ステートメントと UPDATE ステートメントではインデックスの作成に時間がかかります。その理由は、データを挿入または更新するときに、データベースは挿入または更新されたインデックス値も更新する必要があるためです。 シンプルでユニークなインデックス テーブルに一意のインデックスを作成できます。一意のインデックスとは、2 つの行が同じインデックス値を持つことができないことを意味します。テーブルにインデックスを作成する構文は次のとおりです。 ユニークインデックスを作成する index_name ON テーブル名 (列1、列2、...); 1 つ以上の列を使用してインデックスを作成できます。たとえば、tutorial_author を使用して tutorials_tbl にインデックスを作成できます。 一意のインデックス AUTHOR_INDEX を作成する ON tutorials_tbl (チュートリアル作成者) テーブルに単純なインデックスを作成できます。単純なインデックスを作成するには、UNIQUE キーワードを省略するだけです。単純なインデックスでは、テーブル内に繰り返し値を含めることができます。 インデックス列の値を降順で並べ替えたい場合は、列名の後に予約語 DESC を追加します。 mysql> 一意のインデックス AUTHOR_INDEX を作成します オン tutorials_tbl (tutorial_author DESC) ALTERコマンドを使用してインデックスを追加および削除します テーブルに追加できるインデックスには 4 つの種類があります。
以下は、既存のテーブルにインデックスを追加する例です。 mysql> ALTER TABLE testalter_tbl ADD INDEX (c); インデックスは、DROP 句を指定した ALTER コマンドを使用して削除できます。上記で作成したインデックスを削除するには、次の例を試してください。 mysql> ALTER TABLE testalter_tbl DROP INDEX (c); ALTERコマンドを使用してPRIMARY KEYを追加および削除します。 同様の方法で主キーを追加することもできます。ただし、列内で主キーが適切に使用されるようにするには、NOT NULL の使用を指定する必要があります。 以下は、既存のテーブルに主キーを追加する例です。列を主キーとして追加する前に、列に NOT NULL 属性を追加する必要があります。 mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl に PRIMARY KEY (i) を追加します。 次のように ALTER コマンドを使用して主キーを削除できます。 mysql> ALTER TABLE testalter_tbl で PRIMARY KEY を削除します。 主キーではないインデックスを削除するには、インデックス名を指定する必要があります。 インデックス情報を表示する SHOW INDEX コマンドを使用すると、テーブルに関連付けられているすべてのインデックスを一覧表示できます。 出力を垂直にフォーマットします (\G で指定)。これは、出力を要約する長い行を回避するのに役立ちます。 次の例を試してください。 mysql> SHOW INDEX FROM table_name\G ........ 要約する 上記は編集者が紹介したMySQLインデックスです。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: VUE+Express+MongoDBのフロントエンドとバックエンドの分離によるノートウォールの実現
目次1. クロスドメインはどのように形成されるのでしょうか? 2. クロスドメインの根本的な原因3....
1. 依存パッケージをインストールする yum -y インストール gcc-c++ ncurses-...
この記事では主に、HTML+CSS で階層化ピラミッドを実装する例を紹介し、皆さんと共有します。詳細...
コードをコピーコードは次のとおりです。 <span style="font-fami...
目次ここでの問題は次の通りです:解決策1:解決策2: コンストラクタで初期化を割り当てる採掘場の概要...
目次要件の説明:要件分析:ニーズの解決問題解決私はフロントエンドの新人ですが、バックエンドのバグの中...
デフォルトでは、 /etc/default/docker 設定は有効になりません。docker 環境...
1. Vueルーティングの権限制御には一般的に2つの方法がありますa. ルーティングメタ情報(メタ)...
ミックスインメソッド: ブラウザはコンパイルできません: 以前のバージョンのsassでは上記の記述方...
1. 正常に生成されたアイコン ファイルをダウンロードし、名前を favico.ico に変更して、...
MySQL パスワードを 2 回忘れてしまいましたか?最初、私はアンインストールして再インストールす...
1. 父から息子へ子コンポーネントにpropsフィールドを定義し、その型は配列です (フィールド値の...
最初は悲しい気持ちになりました。スクリーンショットは以下の通りです。 少し苦労しましたが、解決策は次...
導入react-i18next は、 i18nextをベースにした強力な国際化フレームワークです。 ...
目次1. Dockerのセキュリティ問題2. Dockerアーキテクチャの欠陥とセキュリティメカニズ...