5

テキスト領域を介してユーザー入力を受け入れる PHP アプリケーションに取り組んでいます。データベースに暗号化されて保存されます (AES_ENCRYPT を使用)。

BLOB または VARBINARY フィールドを使用する必要がありますか? どちらのタイプのフィールドにもパフォーマンスへの影響はありますか?

4

2 に答える 2

3

ボヘミアンの答えは正確ではないと思います。VARBINARY は BLOB と同様にバイナリ データを格納するため、スペースを含む任意のデータを格納できます。

    mysql> create table t1 (id integer auto_increment, data varbinary(100), primary key (id));
Query OK, 0 rows affected (0.09 sec)

// inserting '0', ' ', '0', ' ' - 4 characters including trailing space
mysql> insert into t1 (data) values (unhex('30203020')); 
Query OK, 1 row affected (0.02 sec)

+----+------+
| id | data |
+----+------+
|  1 | 0 0  |
+----+------+
1 row in set (0.00 sec)

mysql> select t1.*, length(data) from t1;
+----+------+--------------+
| id | data | length(data) |
+----+------+--------------+
|  1 | 0 0  |            4 |
+----+------+--------------+
1 row in set (0.00 sec)
于 2014-08-15T18:26:12.217 に答える