データベース インデックスは、テーブル操作の速度を向上させることを目的としたデータ構造です。高速なランダム検索とレコードへのアクセスの効率的なソートを提供する 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のフロントエンドとバックエンドの分離によるノートウォールの実現
最近、外国人が CSS3 を使用してアコーディオン効果を実現しているビデオを見たので、自分で学習した...
アプリケーションシナリオ1: ドメイン名ベースのリダイレクト会社の古いドメイン名は www.accp...
目次1. シーンレイアウト2. ハンドルリスナーを追加する1. イベントの変更を監視する2. 座標設...
目次1. Antデザインビュー1. 公式ウェブサイトアドレス2. 使い方3.電子書籍テーブルを表示す...
プロジェクトシナリオ: 1. アップロードファイルの制限関数: 1. フロントエンド操作による異常な...
ウェブデザイナーになるのは簡単ではありません。デザインやアーキテクチャを考慮するだけでなく、さまざま...
純粋な CSS3 で実装された美しい入力ボックス アニメーション スタイル ライブラリを共有します ...
目次例示する1. ブロブオブジェクト2. フロントエンド3. バックエンド要約する例示する最近、ファ...
SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...
mysql サービスは開始されていますが、接続できません。この問題を解決するにはどうすればよいでしょ...
データは企業の中核資産であり、企業にとって最も重要なタスクの 1 つです。注意しないと、データが意図...
Linux コマンドラインには、プロセスを強制終了するためのコマンドが多数用意されています。たとえば...
1. まず、移行サーバー上のデータ ファイルを見つけます。MySQL 5.7 とデフォルトのインスト...
今日 テーブル名から * を選択します。ここで、to_days(時間フィールド名) = to_day...
目次1. Vue2との比較1. Vue3の新機能2. Vue2とVue3の応答原理の比較3. 配列の...