、答えは "それが依存" です。
まず、完全にエンコードされたJWTを格納することが正しい解決策であるかどうかを判断する必要があります。私はJWT文字列を保存せず、代わりにJWTを構築するために使用された主張を格納する傾向があります。これにより、データベースに1トンのスペースを節約します。
あなたがJWTの保管が正しい方法であると判断した場合は、あなたのオプションを見ることができます。
TEXTとLONGTEXTはCLOBの型にすぎません。そのため、無視できます。
TEXTとVARCHARにはどちらも64kbという制限があります。そのため、上記のものにはLONGTEXT(またはMEDIUMTEXT)が必要ですが、これはオプションではありません。
TEXTとVARCHARの違いは、VARCHARが行に格納されていますが、TEXTは基本的にポインタです。 JWTを頻繁に読もうとするとVARCHARは高速になりますが、文字列が大きくなると個々の行が大きくなり、パフォーマンスが低下します。
JWTと同じくらいの大きさで、私はTEXTがJWTをデータベースに格納するのに適していると言います。 JWTが非常に小さいと確信しているなら、VARCHARはより良い読み込み性能を生み出すかもしれませんが、実際のデータで確かめてテストするのが最善でしょう。
TEXTが提供できるフィールドよりも大きなフィールドが必要な場合は、エンコードされたJWTの格納を避けるために推奨を繰り返しますが、LONGTEXTはオプションです。
データベースに格納する必要がないJWTのポイントではありませんか? – ceejayoz
@ceejayozリフレッシュトークンはJWT自体でもあり、データストアに格納する必要があると私は信じています。 – georaldc