laravel10での データベース登録 urlアドレスはどの型を使うべき
Laravel 10 でデータベース登録を行う際に、URL アドレスを格納するための型は、いくつかの選択肢があります。
1. string 型
PHP
$model->url = 'https://example.com/long-url-address';
$model->save();
コードは注意してご使用ください。content_copy
string 型は最もシンプルですが、255 文字を超える URL アドレスを格納することはできません。
2. text 型
PHP
$model->url = 'https://example.com/long-url-address';
$model->save();
コードは注意してご使用ください。content_copy
text 型は、65,535 文字までのデータを格納できます。
3. mediumtext 型
PHP
$model->url = 'https://example.com/long-url-address';
$model->save();
コードは注意してご使用ください。content_copy
mediumtext 型は、16,777,215 文字までのデータを格納できます。
4. longtext 型
PHP
$model->url = 'https://example.com/long-url-address';
$model->save();
コードは注意してご使用ください。content_copy
longtext 型は、4,294,967,295 文字までのデータを格納できます。
どの型を使うべきか
URL アドレスの桁数によって、使用する型を以下のように選ぶのが一般的です。
- 255 文字以下:
string型 - 255 文字~65,535 文字:
text型 - 65,535 文字~16,777,215 文字:
mediumtext型 - 16,777,215 文字以上:
longtext型
注意点
text型、mediumtext型、longtext型は、string型よりも多くのストレージ容量を使用します。- データベースのインデックスを作成する場合は、
string型の方が効率的です。
参考
- Laravel 10 documentation – Database: [[無効な URL を削除しました]]([無効な URL を削除しました])
- MySQL documentation – Data Types: https://dev.mysql.com/doc/refman/8.0/en/data-types.html

