
単純な質問ですみません。
idを例えばアルファベット5~10文字程度にしたVARCHAR(10)とする場合と、tinyintにする場合では検索スピードはどちらが速いのでしょうか?
idの種類は多くても10種類くらいです。
レコード数は50万件くらいあります。
アルファベットのidを数値にするとは、例えば
apple → 0
orange → 1
banana → 2
というような感じです。
また、idをもしtinyintにした場合、phpMyAdminなどでレコード表を確認した場合、何のidかわかりにくいですが、これは仕方ないのでしょうか?
No.1ベストアンサー
- 回答日時:
本質的にidというのはレコードを特定するためのものなので
インデックスが利いていれば基本的にスピードの差はほぼでないでしょう
>apple → 0
>orange → 1
>banana → 2
実務上idに意味のある単語などを用いることは危険です。
appleとしたものの実はgreen appleだったりする場合もあるでしょう
idを意味のない数字でもっておけばあとからいくらでも修正が利きます
>phpMyAdminなどでレコード表を確認した場合、何のidかわかりにくいです
リレーションの設定で外部キー制約をつけておけば、所定のコードをクリックして
リンク先へ飛ぶことができますよ
(仮に上記の例であれば0をクリックしたときappleのデータを表示させられる)
ちなみにidに0を利用するのはお勧めできません
1以上の整数を利用してください
(他のプログラムとの組み合わせの際,0は特別な意味を持つケースが多いため、
たとえばfalseだったりnullだったり,空文字だったりする)
ありがとうございます!
詳しくご説明くださって感謝します。
速度的にはそれほど問題ないのですね。
今回はIDを数値にすることにしました。
IDから先は特に情報はいらないので外部キー制約などは付けれませんが自分で管理したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
Access パラメータクエリをcsv...
-
VIEWの元のテーブルのindexって...
-
SQL Left Join で重複を排除す...
-
select文のwhere句に配列を入れ...
-
Unionした最後にGROUP BYを追加...
-
[MySQL] 3つのテーブルの結合で...
-
WordpressのContact form 7でzi...
-
SQLにて特定の文字を除いた検索...
-
エクセルの関数について教えて...
-
LEFT JOIN と GROUP BY
-
クエリ表示と、ADOで抽出したレ...
-
【Transact-sql】 execの結果を...
-
sqlで、600行あるテーブルを100...
-
カラム名でseqとidではどちらが...
-
EXPLAINのtypeがALLのときの対...
-
NOT INをNOT EXISTSで書き直したい
-
エラー 1068 (42000): 複数の主...
-
SQLサーバから、項目の属性(型...
-
副問合せの書き方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
VIEWの元のテーブルのindexって...
-
エラー 1068 (42000): 複数の主...
-
SQLサーバから、項目の属性(型...
-
select文のwhere句に配列を入れ...
-
SQL Left Join で重複を排除す...
-
Access パラメータクエリをcsv...
-
マイクラPC版のコマンドで効率...
-
【Transact-sql】 execの結果を...
-
sqlで、600行あるテーブルを100...
-
SQLにて特定の文字を除いた検索...
-
1テーブル&複数レコードの更新...
-
PL/SQLの変数について
-
WordpressのContact form 7でzi...
-
複数テーブルのGROUP BY の使い...
-
バインド変数について
-
inner joinをすると数がおかし...
-
MySQLのint型で001と表示する方...
-
updateを1行ずつ実行したい。
おすすめ情報