t1 と t2 という 2 つの別々のテーブルに BigInteger 値のリストがあります。これらは、MySQL Workbench を使用して longtext データ型として挿入されます。t2に存在する場合、t1の各値を確認したい。次のステートメントを実行しました。
SELECT *
FROM t1
WHERE col1.t1 IN
(
SELECT col1.t2
FROM t2
) ;
しかし、ステートメントは決して終わらないようです (数十万のレコード)。数値の比較はテキストよりも高速になるため、数値を BIGINT として再挿入したいと思います。Java プログラムを使用して、これらの BigInteger 値をテキスト ファイルから 1 行ずつ読み取ります。プログラムで次のエラーが表示されます。
DB_Error:_com.mysql.jdbc.MysqlDataTruncation: データの切り捨て: 列の値が範囲外です
どうすればこの問題を解決できますか? BigInteger 値をできるだけ速く比較する必要があります。