1

Amazon MWS APIを介してフィードを送信すると、として入力されたフィード送信IDがstring返されますが、返されるすべての図はタイプのようですint

質問:彼らがそれを持っている理由はありますか、stringそして常にこの値をに変換するのは安全ですかint(つまり、彼らが「123abc」のような文字をそのIDに追加しないと確信しているかもしれません)。

質問の理由:データベースに値を格納する方法:char()varchar()またはint?IDがインクリメントされるため、最終的にはこのIDの長さが長くなることが予想されます。したがってchar()、機能しません。次に、varchar(how_long?)-現在IDは10文字の長さです-それに余分なスペースを追加します(たとえばvarchar(15))?または、単に使用するだけですint-検索が高速になり、IDが(ある場合)に成長するまでIDに対応しますbigintか、それとも単に作成しbigintて最終的なものにしますか?

これがジレンマです。

4

1 に答える 1

1

彼らがそれを文字列として持っている理由があり、この値を常にintに変換するのは安全ですか?

int数学的に使用する予定がない限り、この値をに変換しません。

(つまり、「123abc」のような文字がそのIDに追加されないことを確信できます)。

あなたはこれを確信することはできません。これは識別子であり、将来、数字以外の文字を追加し始める可能性があります。

私はデータベースの専門家ではないので、特定のシナリオに最適なタイプについてアドバイスすることはできません。当てはまる1つのことは、アプリケーションのベンチマークを行うまで、どちらがより高速で効率的かを判断できないことです。

varchar(25)私の推奨は、将来のために十分なスペースを提供する値として保存することです。また、パフォーマンスや効率よりも、アプリケーションの保守性に重点を置くことをお勧めします。

于 2012-02-01T08:45:36.743 に答える