- 締切済み
(phpMyadminの)インデックスサイズの一意な値の数
初心者です。 教えて頂けますか? 一つのフィールドにユニークのインデックスを付けたのですが (phpMyadminの)インデックスサイズの一意な値の数とありますが、 何を指すのでしょう?一意(ユニーク)の意味は分かるのですがいまいち意味が分かりません。 何の事でしょう? よろしくおねがいします。
- psychesine
- お礼率66% (489/738)
- MySQL
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hrm_mmm
- ベストアンサー率63% (292/459)
「一意な値」の数 = ユニークインデックスでは、レコード件数と同じ ユニークでないインデックスでは、同一値のレコードをひっくるめて一件と数える = group by index で表示したときのグループ数
関連するQ&A
- インデックスの一意な値の数について
インデックスを下記のように作成しているのですが、 MySQLはインデックスは同時に1つしか使用されないようなので どれを消そうか迷っています。 約177万件レコードがあるのですが、レコード数のうち 一意な値の数が何割以下ならインデックスを 張る意味がないといった基準はあるでしょうか? 一意な値の数 1.1772253(PK int型) 2.2338(idx int型) 3.1122(idx int型) 4.18(idx int型)
- ベストアンサー
- MySQL
- phpMyAdminのテーブル構造画面のインデックスについて
phpMyAdminのテーブル構造画面のインデックスについて 宜しくお願い致します。 MySQL5.0.22を使用しております。 phpMyAdminは2.7.0を使用しております。 phpMyAdminのテーブル構造画面で インデックスサイズの「一意な値の数」が、画面を更新する度に変わるんですが、なぜでしょう? 原因がよくわからないのですが、現在作っているシステム上は何も不具合が出ておりません。 原因に心当たりがございましたら、教えて下さい!
- ベストアンサー
- MySQL
- MySQLのインデックスの使い方を教えてください。
MySQLのインデックスの使い方を教えてください。 どうやら、検索性を上昇させるためのもののようですが… phpMyAdminで「構造」タブを開くと、【ユニーク】【インデックス】【全文】というアイコンがありますよね。 【ユニーク】を押すと 種別 :BTREE ユニーク :はい 圧縮 :いいえ フィールド :(チェックを入れた各フィールドの名前) 一意な値の数:(チェックを入れたうち、なぜか最後のフィールドだけはレコード数が表示されるけど、他のフィールドは0になる。どれかひとつをキー的に扱えば充分ということでしょうか。どれでも大して変わらない?) 照合順序 :A 【インデックス】を押すと 種別 :BTREE ユニーク :いいえ 圧縮 :いいえ フィールド :(チェックを入れた各フィールドの名前) 一意な値の数:0 照合順序 :A 【全文】を押すと 種別 :FULLTEXT ユニーク :いいえ 圧縮 :いいえ フィールド :(チェックを入れた各フィールドの名前) 一意な値の数:0 となるようですが… (インデックス名は、チェックを入れたフィールドのうち先頭にあるものの名が勝手に採用されますが、後から変更できるみたいですね) 「複数のフィールドにいっぺんにチェックを入れてからアイコンを押す」のと、「ひとつのフィールドずつアイコンを押す」ので結果が違って、なんだか気持ち悪いです。 バラバラのインデックスを作るのと、ひとつのインデックスにまとめるのでは、どう違うのでしょう? 普通はどうするものでしょうか? 例えば no ryaku cctld ei seisiki 1 日本 .jp japan 日本国 2 アメリカ .us U.S.A アメリカ合衆国 3 中国 .cn China 中華民主主義人民共和国 のように、すべて(あるいはほとんど)のフィールドが一意である場合の例が知りたいです。
- ベストアンサー
- MySQL
- コンポジット一意インデックスとは?
趣味でPHPとMYSQLをいじってる大学生です。 先日はこちらで助けて頂いてとても助かりました。 ご返答いただきました皆様ありがとうございました。 単発の質問で申し訳ないのですが インデックスの指定をする際に疑問点がでてきたので 質問させて下さい。 タイトルにもあげたのですが、 コンポジット一意インデックスというのは インデックス(インデックスの名前はkeyの値) で複数カラムにインデックス指定するということだと思いますが 一意はユニークというのは 任意の挿入されるレコードは、2つの場合に限定すると 2のカラムを見ると他のレコードとかぶらないというか 要するに2つのフィールドをあわせて考えて、 ユニークであるという理解でよいでしょうか? 言葉がおもいつきませんが 例えば宝くじの 組 番号 購入者 ...etc A組 0001 B組 0001 A組 0023 C組 ・・・ のようなデータを扱う際に 組と番号にコンポジット一意インデックスを割り振るといいというという理解でいいでしょうか? その理解が正しいか間違っているか? 教えていただけると幸いです。 そして、この理解で正しいのならば もしも 番号=0002 など、2つのフィールドのうち1つで検索した場合だとインデックスは役割を果たすのでしょうか? コンポじゃないと機能しないのか?ということです。 コンポじゃないと機能しないのであれば3つのインデックス つまり、(組,番号[コンポ]),(組),(番号) を作成するのが正しいのでしょうか? よろしくお願い致します。
- 締切済み
- MySQL
- phpmyadminで種別の値が変更できない
教えてください。 phpmyadminであるフィールドの長さ/値を変更しようと保存実行すると #1406 - Data too long for column 'NAME' at row 1 とエラーが出て修正がききません。 何が原因でしょうか? OS:xp mysql:5 php:4.4.7
- 締切済み
- MySQL
- phpMyadmin
phpMyadminでバックアップをとる場合、目的にもよるとおもますが、一般的な選択肢はどんな感じでしょうか?また、それの影響、効果はどんなものでしょうか? よろしくお願いします。 トランザクションでエクスポートを囲む 外部キーの検査を無効にする 「DROP TABLE」を追加する 「IF NOT EXISTS」を追加する 「AUTO_INCREMENT」値を追加する 逆クオートでテーブル名やフィールド名を囲 作成/更新/検査の日付を追加する 完全な INSERT 文を作成する 長い INSERT 文を作成する 遅延インサートを使用する 「INSERT IGNORE」を使用す バイナリフィールドは 16 進数を使用す エクスポート形式 エンコード方式
- ベストアンサー
- MySQL
- phpMyAdminからphpMyAdminへのデータ移行
レンタルサーバーにあるMySQLのデータをphpMyAdminからエクスポートし、ローカルホストにあるMySQLにphpMyAdminのSQLでデータをインポートしようとしています。 方法は以下の通りです。 レンタルサーバーのphpMyAdminを開き、エクスポートしたいデータベースを選択します。 エクスポートを開き、 全選択 SQL 構造: 「DROP TABLE」を追加 「IF NOT EXISTS」を追加 「AUTO_INCREMENT」値を追加 逆クオートでテーブル名やフィールド名を囲む データ: 完全な INSERT 文を作成する バイナリフィールドは 16 進数を使用する エクスポート形式:INSERT ファイルで保存する ファイル名テンプレート:__DB__ テンプレートを覚える 圧縮無し SJISエンコーディングへ変換する で、実行します。 8.43 MB (8,846,019 バイト)37602行 からなる膨大なsqlファイルが作成されます。 次にローカルホストのphpMyAdminを開き、インポートしたいデータベースを選択します。 SQLを開き、 参照より、エクスポートしたsqlファイルを読み込み 圧縮:Autodetect エンコーディングnon で、実行します。 実行の結果、 「SQLクエリー無し」 のメッセージで、SQLが終了します。 もちろん、データベースは移行されていません。 レンタルサーバーのMySQLをローカルのAccessでデータ加工し、レンタルサーバーのMySQLに戻すという作業をしたいだけなのですが(ローカルでバックアップも取っておきたい)、何か解決策はありませんでしょうか?
- 締切済み
- MySQL
- ある数に限りなく近づく値=そのある数。についてです
ある数に限りなく近づく値=そのある数 例)1.999・・・=2,0.000・・・・001=0 このように0以上の整数をnとおいて n.999・・・=n,n.000・・・001=n このような、1=1のような意味の等式は成り立ちますでしょうか? ご回答宜しくお願い致します。
- ベストアンサー
- 数学・算数
- VBAでその月の数の一番多い値を取得したいのですが
フィールド1 フィールド2 2016/08/07 52.6 2016/08/06 52.2 2016/08/05 52.2 2016/08/04 52.9 2016/08/03 53.6 2016/08/02 53.3 2016/08/01 53.1 と言うデータがテーブルには入っています。 アクセスのVBAでその月の数の一番多い値を取得したいのですが strMAX = DMax("[フィールド2]", "テーブル1", "[フィールド1] = '" & ??? & "'") 上記の???の部分はどうすればいいでしょうか? 日付をフィルタするのではなく 「8月の中で一番多い値」を指定するにはどうすればいいでしょうか? 結果としては、53.6を取得したいです。
- ベストアンサー
- オフィス系ソフト