
テーブルを作成するとき、各列にデータ型を指定しなければなりませんが、そもそもなんでデータ型という物が存在するのでしょうか?
いっそのことすべてtext型で扱ってしまった方が、いちいち挿入されるデータを予測してデータ型を決定する必要もないと思うのですが…
(integerよりsmallintにした方が動作が速くなるとか、そういう理由なんでしょうか?)
また、データ型を決定しなければいけない場合、何を基準にデータ型を決定すればいいのでしょうか。
例えば、掲示板などをデータベースで管理する場合は、ハンドルネームがどれくらいまで長い人がいるのかわからないので、結局text型になってしまいそうですが…
No.2ベストアンサー
- 回答日時:
>(integerよりsmallintにした方が動作が速くなるとか、そういう理由なんでしょうか?)
基本的にはプログラム言語にintとstring(text)があるのと同じ理由です。
たとえば、たいていの場合intの方がメモリ消費量が少なく、検索やソートも容易です。
あと、stringは基本的に算術対象にできません。
(StrToIntとか使えばできる場合もありますが)
>何を基準にデータ型を決定
色々考慮する事項はありますが、基本的にその項目に入りうる最大限動的なデータ型を決定すれば良いかと思います。
特にPostgresだけを使うならvarcharやcharは積極的に使う理由がない限り使う必要はないでしょう。
(問題になるのは移植性くらいかな?)
#私は大抵textとintくらいしか使わないです。
#(booleanはintで代用)
No.1
- 回答日時:
型があったほうが処理が早いしサイズも小さいほど処理が早いと思います。
ハンドルネームの例では長さ未定で挿入するのではなく例えば100バイト以上のハンドルネームは登録不可として長さを限定するほうが普通ではないでしょうか。
型のないSQLiteというデータベースもあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10がインストールできま...
-
エクセルで縦のカラムデータを...
-
Ophcrackについて
-
postgresqlのtableのカラムの型...
-
php、postgresqlを使ってwebア...
-
三段論法を真理値表で証明する
-
sqlの中で、 例えば条件句で AN...
-
tesuto 01
-
python3.12のインストール方法
-
Pythonで2つのデータ(キー無し...
-
数値が定期的にあらわれる文字...
-
終端クォート ' が必要です と...
-
PostgressからMySQL(MariaDB)...
-
【PostgreSQL】行の値の並びを...
-
列が存在しないと言われる
-
PostgreSQL14.6のSSL対応について
-
ポストグレにあるExcelファイル...
-
PostgreSQL レコードからアイテ...
-
文字切り替えの時に 中央にでる A
-
postgreSQL カラムの全ての値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
ACCESSのデータをWebブラウザで...
-
1回目の実行に3分、2回目の実行...
-
Sqliteで使えない文字。
-
ELSE先の条件に引っかからない
-
SQL文で、重複データの上書きは...
-
ACOSのRDBについて教え...
-
大規模データ検索結果の検証方法
-
yahoo gooなどの検索の仕組み...
-
SQL ServerにExcelをリンクさせ...
-
コミット前のデータの退避場所
-
業務用のデータベースサーバー...
-
データベースについて
-
PL/SQLで複数のFor文を解除したい
-
SQLSERVERのテーブルにデータを...
-
oracleデータベースの更新履歴
-
DB2 双方向でのレプリケーショ...
-
テストデータの作成
-
accessの上限容量2Gでは容量が...
-
データベース側で100万とか1000...
おすすめ情報