[解決済み] booleanフィールドのインデックスを作成すると、パフォーマンスが向上するのでしょうか?
2022-07-28 19:55:12
質問
私はちょうどクエリを書こうとしているのですが、そのクエリには
WHERE isok=1
. その名の通り
isok
はブーリアン・フィールドです (実際には
TINYINT(1) UNSIGNED
で、必要に応じて 0 または 1 に設定されます)。
このフィールドにインデックスを付けることでパフォーマンス向上があるのでしょうか?エンジン (この場合は InnoDB) はインデックスを検索することで、パフォーマンスが向上するでしょうか、それとも低下するでしょうか?
どのように解決するのですか?
そうでもないですよ。本のように考えてみてください。本の中に3種類の言葉しかなかったとして、そのすべてに索引をつけると、通常のページと同じ数の索引ページができることになります。
1つの値のレコードが比較的少なければ、性能向上が期待できます。例えば、1000件のレコードがあり、そのうち10件がTRUEなら
isok = 1
Michael Durrantが言ったように、書き込みが遅くなることもあります。
EDIT: 重複の可能性あり。 ブーリアンフィールドのインデックス作成
ここでは、インデックスがあっても、レコード数が多ければ、どうせインデックスは使われないと説明しています。 MySQLはチェック=1ではインデックスを使用せず、チェック=0では使用する。
関連
-
MySql認証ベースのvsftpd仮想ユーザー
-
mysqlインデックスが長すぎる特殊なキーが長すぎる解決策
-
Mysqlのソート機能の詳細
-
[解決済み】MySQLで「すべての派生テーブルは独自のエイリアスを持つ必要があります」というエラーは何ですか?
-
[解決済み] [GROUP BY句に含まれるか、集約関数で使用される必要があります。
-
MySQLにおけるvarchar型とchar型の違い
-
Mysql がエラー 1241 を報告 オペランドは 1 つのカラムを含む必要があります。
-
[解決済み] KEYキーワードは何を意味するのか?
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ジョイントインデックスのためのmysqlの条件とインデックスが失敗するための条件
-
MySQLデータベースでvarchar型の数値の大きさを比較する方法
-
SQL集計、グループ化、ソート
-
MySQL インタビューの質問 - ハッシュインデックスを設定する方法
-
[解決済み] ユニークなテーブル/エイリアスではない
-
[解決済み] SQLエラー。ORA-01861:リテラルは、フォーマット文字列01861に一致しません。
-
CMakeエラー。ソースディレクトリ "/xxx/mysql-5.6.21" に CMakeLists.txt がないようです。
-
[解決済み] MySQLのプロセスリストを見つけ、それらのプロセスを終了させる方法は?
-
[解決済み] MySQLデータベースの名前を素早く変更する(スキーマ名を変更する)方法は?
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?