ResultSetExtractor内でgetIntを呼び出す際にパフォーマンスの問題があります。 GetIntは20000回と呼ばれます。 1つのコールのコストは0.15ミリ秒で、プロファイラ内で実行している間は全体のコストは24秒です。 SQLステートメントの実行には約8秒かかります(プライマリキーを使用したアクセス)。私はmysqlドライバのバージョン5.1.13、mysqlサーバ5.1.44、およびspring-jdbc-3.1.1を使用します。 パフォーマンスを改善するアイデアはありますか?ResultSetExtractor内のgetIntでのパフォーマンスの問題
mut.getMutEffect()[0]=(rs.getInt("leffect_a") != 0);
mut.getMutEffect()[1]=(rs.getInt("leffect_c") != 0);
...
mut.getMutEffect()[19]=(rs.getInt("leffect_y") != 0);
mut.getMutReliability()[0]=rs.getInt("lreliability_a");
...
mut.getMutReliability()[19]=rs.getInt("lreliability_y");
私のスキームは、この
CREATE TABLE mutation (
...
leffect_a BIT NOT NULL,
lreliability_a TINYINT UNSIGNED NOT NULL,
...
leffect_y BIT NOT NULL,
lreliability_y TINYINT UNSIGNED NOT NULL,
...
) ENGINE=MyISAM;
編集のようになりますのgetInt内MethodeのgetIntWithOverflowCheckが高価であるように思われたと呼ばれています。この小切手を回すことは可能ですか?
Statement.setFetchSize()はうまくいきました。どうもありがとう。 –