まずはコードを見てみましょう: ALTER TABLE reportblockdetail ADD KEY taskcode (タスクコード) ALTER TABLE reportblockdetail DROP KEY taskcode まあ、ここがまさに混乱するところです。 MySQL を使用する場合、ほとんどの場合、同様の効果を示すため、この問題に注意を払わないかもしれませんが、それでも同等にすることはできません (少なくとも理論的には)。 インデックスとキーの違いは、開始点が異なることにあります。インデックスはテーブルの検索と操作の速度を維持する役割を担い、キーはテーブルの整合性を維持する役割を担います。 このような混乱が生じた場合は、おそらく MySQL の奇妙な現象が原因です。
不思議ですよね? 2つは別物ですが、作成されると互いにくっついています。 なぜそうなるのでしょうか?理由は次の通りです:
最後にまとめます。
理論上、MySQL のキーとインデックスは同一視できず、同じものではありませんが、実際の使用では、基本的に違いはありません。 コンテンツ拡張子: キーと主キーの違い テーブルwh_logrecordを作成します( logrecord_id int(11) NOT NULL auto_increment, user_name varchar(100) デフォルト NULL、 operation_time datetime デフォルト NULL、 logrecord_operation varchar(100) デフォルト NULL、 主キー (logrecord_id)、 キー wh_logrecord_user_name (ユーザー名) ) KEYとINDEXの違い 注: この部分についてはまだ混乱しています。 MySQL のインデックスとキーの違い キーは、リレーショナル モデル理論の一部であるキー値です。たとえば、データの整合性チェックや一意性制約に使用される主キーと外部キーがあります。インデックスは実装レベルにあります。たとえば、テーブル内の任意の列にインデックスを作成できます。その後、インデックスが作成された列が SQL ステートメントの Where 条件にある場合、データをすばやく見つけて取得できます。ユニーク インデックスについては、インデックスの一種にすぎません。ユニーク インデックスの作成は、この列のデータが重複できないことを意味します。MySQL では、ユニーク インデックス タイプのインデックスに対してさらに特別な最適化を行うことができると思います。 したがって、テーブルを設計するときには、キーはモデル レベルのみでよく、クエリの最適化が必要な場合は、関連する列のインデックスを作成できます。 さらに、MySQL では、主キー列に対して、MySQL が自動的に一意のインデックスを作成するため、再度インデックスを作成する必要はありません。 上記はMySQLのキーとインデックスの違いについての詳しい内容です。MySQLのキーとインデックスの違いについてさらに詳しく知りたい方は、123WORDPRESS.COMの他の関連記事もご覧ください。 以下もご興味があるかもしれません:
|
<<: JavaScript 関数呼び出し、適用、バインド メソッドのケース スタディ
>>: Dockerにelasticsearchとkibanaをインストールする方法
% ワイルドカードを使用すると、インデックス失敗の問題が発生することがよくあります。ここでは、lik...
私は最近、最も安い Tencent クラウド サーバーを購入しました。これは主に、Web テクノロジ...
目次序文インストールと使用方法モジュラー管理Vuex の状態永続性要約する序文Vue 開発では、ユー...
1. 2つのクエリエンジン(myIsamエンジン)のクエリ速度InnoDB はテーブル内の特定の行数...
プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...
目次データブローカーとイベントObject.defineProperty メソッドのレビューデータブ...
エラーは次のとおりです:キャッチされない TypeError: 未定義のプロパティ 'mod...
多くの場合、ローカル データベースのデータをエクスポートしたり、他のデータベースからデータをインポー...
公式ドキュメント: https://dev.mysql.com/doc/refman/5.7/en/...
MySQL8.0.12 インストールチュートリアルをみんなで共有します。 1. インストール1.イン...
方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...
序文タイトルを見ると、誰もが「Debian 9 に MySQL をインストールするにはどうすればいい...
この記事では、WeChatアプレットの具体的なコードを参考までに共有します。具体的な内容は次のとおり...
目次1. 開発前の準備2. 新しいプロジェクトIdea は Java 開発のための強力なツールであり...
IPマスカレードとポート転送Firewalldは2種類のネットワークアドレス変換をサポートしています...