序文 私は多くのブログを読み、弊社の DBA を含む多くの人々が、MySql では列に null が含まれている場合、その列を含むインデックスは無効であると言っているのを聞きました。 私は「High Performance MySQL 2nd Edition」と「MySQL Technology Insider - InnoDB Storage Engine 2nd Edition」をざっと読みましたが、これに関する紹介は見つかりませんでした。しかし、ローカルで試してみたところ、null 列は、単一列インデックスでも結合インデックスでもインデックスを使用できるが、is null に限定されていることがわかりました。is not null ではインデックスは使用されません。 その後、列に null が含まれている場合でもインデックスを使用できるという説明が公式ドキュメントに見つかりました。アドレスは https://dev.mysql.com/doc/refman/5.7/en/is-null-optimization.html です。 MySQL 5.6 と 5.7 の両方で動作し、ストレージ エンジンは InnoDB です。 データは次のとおりです。 1. 単一列インデックス 名前列に単一列インデックスを作成します。 名前が null の行をクエリします。 名前が 'test0' または null である行をクエリします。 インデックスが使用できることがわかります。 2. 共同インデックス 年齢と名前に結合インデックスを追加します。 年齢が 14 で名前が null の行をクエリします。 インデックスも使用されていることがわかります。 3. その他 MySQL は null を含む列のインデックスを使用できますが、null がインデックス内の他のデータと同じであることを意味するわけではありません。 列に null を許可することはお勧めしません。 null 以外を制限し、0 や '' 空文字列などのデフォルト値を設定するのが最適です。日付時刻型の場合は、「1970-01-01 00:00:00」などの特別な値に設定できます。 MySQL では、null は特別な値です。概念的には、NULL は「不明な値」を意味し、他の値とは多少異なる方法で扱われます。たとえば、=、<、> などの演算子は使用できません。null に対する算術演算の結果は null になります。null 行はカウントに含まれません。null は空の文字列よりも多くのストレージ スペースを必要とします。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
>>: Ubuntu 18.04 に vsftpd をインストールするための実装コード
同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...
1. オンライン チュートリアルによると、Ubuntu 18.04 のインストールはまだ失敗します。...
デフォルトでは、Flash は常にページのトップレベルに表示されます。つまり、ページに DHTML ...
サイト上のページを表示するためのリクエストがサーバーに送信されると(たとえば、ユーザーがブラウザでペ...
この記事では、ネイティブ JS で実装されたデジタル時計エフェクトを紹介します。エフェクトは次のとお...
1. MySQLデータベースをダウンロードし、インストールして設定するダウンロードアドレス: htt...
1. インデックス不足または無効なインデックスによるクエリの遅延数千万件のデータを含むテーブルで、イ...
最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...
Iframe Web ページのナビゲーション ウィンドウに関する簡単な説明 Iframe ウェブペー...
MySQL エラー: パラメータ インデックスが範囲外です (1 > パラメータ数、つまり 0...
MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...
序文これは fastdfs を使用してイントラネット外部に展開された分散ファイルシステムであるためで...
この記事の例では、スターフラッシュ効果を実現するためのjsの具体的なコードを参考までに共有しています...
1. コマンドの紹介seq (シーケンス) コマンドは、指定されたステップ サイズに従って、開始番号...
入力ボックス内のカーソルのサイズが一定ではありませんIE7とChromeの違いは非常に明白ですまず、...