私は常に、SQL 文字列列の最大長の必要性に悩まされてきました。真の最大長がないデータがいくつかあります。たとえば、誰かの名を格納するフィールドがあり、それをNVARCHAR(50)
. 誰かの名前が 50 文字を超える可能性は常にあります (ほとんどありませんが)。
その場でフィールドの最大長を変更することは可能でしょうか? これが意味することは、 を実行するときに、INSERT/UPDATE
その人の名前が 50 文字を超えているかどうかを確認し、ALTER
必要に応じて を実行する前に表を確認するということですINSERT/UPDATE
。(または、例外をキャッチし、ALTER
必要に応じて実行することもできます)。
ALTER
テーブルに大量のデータが含まれていると、操作が遅くなりますか?
列を に変更するとしますNVARCHAR(100)
。SELECT
このテーブルからの は、最初から作成した場合よりも遅くなりますかNVARCHAR(100)
?