sql >> データベース >  >> RDS >> Mysql

mysqlにvarcharとして10進値を保存するのは良いですか?

    簡単な答えは次のとおりです。いいえ、パフォーマンスが低下します。

    長い答え:VARCHARフィールドは可変長です。つまり、データベースブロックのフォーマットでは、そこに入力されるデータのサイズを事前に考慮することはできません。確かに、フィールドの最大の長さはありますが、それ以外は、あなたは悪化しています。

    一方、VARCHARを読み取り、それを浮動小数点型に適合するように解釈すると、コストがかかります。そして、それは新しい問題の可能性をもたらします。 「11.99」を占めるすべての小数を取得してみてください。 VARCHAR "11.99"!="11.990"であるため、小数点以下の桁数を正しく設定してください。

    そして、索引付けがあります。通常、10進数フィールドにインデックスを付ける人は誰もいませんが、偶然にインデックスを付ける場合は、VARCHARフィールドのインデックスにさらに多くのスペースが必要になります。

    全体として、不特定のフィールドタイプに何かを保存することはお勧めできません。 DB構造では、通常、可能な限り具体的にすることがベストプラクティスと見なされます。



    1. OracleID列とselectに挿入

    2. mysqli接続を機能させる方法は?

    3. PHP / MySQL-複数形を含みますが、単数形は除外します

    4. MySQLでストアドプロシージャをどのように編集しますか?