[Seasar-user:16317] テーブル項目追加に伴うパフォーマンス低下についてのご質問

Kobayashi.Tomomi [E-MAIL ADDRESS DELETED]
2008年 11月 19日 (水) 15:08:04 JST


いつもお世話になっております。
 
現在開発中のプロジェクトにてSeaser2を使用しております。
 
テーブルの列追加(VARCHAR2(3000)を10列追加)を行ったところ、
パフォーマンスが低下するという現象が発生しました。
(検索・更新を行うある機能:39秒⇒53秒)

JAVABEANSのみをテーブル列追加前に戻すと、パフォーマンス低下も改善します。
(DB・その他ソースを一切変えず)
 
詳細原因・対応方法がわからず非常に困っております。
 
JAVABEANSに列追加をした場合(setter/getter)のs2-daoへの影響、
JAVABEANSに定義するテーブルサイズまたは列サイズとパフォーマンスとの関係、
対応方法等、その他どのような情報でも構いませんので、
情報提供をお願いしたいと思います。
 
よろしくお願い致します。

■s2バージョン
s2-dao-1.0.31.jar
s2-framework-2.3.12.jar
s2-extension-2.3.7.jar
 
■DB
ORACLE10g
(oracle.jdbc.driver.OracleDriver)
 
■WEBサーバ
CPU:1.8GHz×1
メモリ:1G
 
■問題となっているテーブル定義
CREATE TABLE XXXX.T_TEST
(
    COL1     NUMBER(9,0) NOT NULL,
    COL2     VARCHAR2(60),
    COL3     VARCHAR2(600),
    COL4     VARCHAR2(60),
    COL5     VARCHAR2(600),
    COL6     VARCHAR2(600),
    COL7     VARCHAR2(600),
    COL8     VARCHAR2(600),
    COL9     VARCHAR2(600),
    COL10    VARCHAR2(600),
    COL11    VARCHAR2(600),
    COL12    VARCHAR2(600),
    COL13    VARCHAR2(60),
    COL14    VARCHAR2(600),
    COL15    VARCHAR2(60),
    COL16    VARCHAR2(60),
    COL17    VARCHAR2(60),
    COL18    VARCHAR2(60),
    COL19    VARCHAR2(600),
    COL20    VARCHAR2(600),
    COL21    VARCHAR2(600)),
    COL22    VARCHAR2(3000
    COL23    VARCHAR2(60),,
    COL24    VARCHAR2(600),
    COL25    VARCHAR2(600)
    COL26    VARCHAR2(60),,
    COL27    VARCHAR2(600),
    COL28    VARCHAR2(600),
    COL29    VARCHAR2(600),
    COL30    VARCHAR2(600),
    COL31    VARCHAR2(600),
    COL32    VARCHAR2(600),
    COL33    VARCHAR2(600),
    COL34    VARCHAR2(600),
    COL35    VARCHAR2(600),
    COL36    VARCHAR2(600),
    COL37    VARCHAR2(600),
    COL38    VARCHAR2(600),
    COL39    VARCHAR2(600),
    COL40    VARCHAR2(600),
    COL41    VARCHAR2(600),
    COL42    VARCHAR2(600),
    COL43    VARCHAR2(600),
    COL44    VARCHAR2(600),
    COL45    VARCHAR2(600),
    COL46    VARCHAR2(600),
    COL47    VARCHAR2(600),
    COL48    VARCHAR2(600),
    COL49    VARCHAR2(600),
    COL50    VARCHAR2(600),
    COL51    VARCHAR2(600),
    COL52    VARCHAR2(600),
    COL53    VARCHAR2(600),
    COL54    VARCHAR2(600),
    COL55    VARCHAR2(600),
    COL56    VARCHAR2(600),
    COL57    VARCHAR2(600),
    COL58    VARCHAR2(600),
    COL59    VARCHAR2(600),
    COL60    VARCHAR2(600),
    COL61    VARCHAR2(600),
    COL62    VARCHAR2(600),
    COL63    VARCHAR2(600),
    COL64    VARCHAR2(600),
    COL65    VARCHAR2(600),
    COL66    VARCHAR2(600),
    COL67    VARCHAR2(600),
    COL68    VARCHAR2(600),
    COL69    VARCHAR2(600),
    COL70    VARCHAR2(600),
    COL71    VARCHAR2(600),
    COL72    VARCHAR2(600),
----ここから列追加
    COL73    VARCHAR2(3000),
    COL74    VARCHAR2(3000),
    COL75    VARCHAR2(3000),
    COL76    VARCHAR2(3000),
    COL77    VARCHAR2(3000),
    COL78    VARCHAR2(3000),
    COL79    VARCHAR2(3000),
    COL80    VARCHAR2(3000),
    C0L81    VARCHAR2(3000),
    C0L82    VARCHAR2(3000),
----ここまで列追加
    CONSTRAINT SYS_XXXX PRIMARY KEY (COL1)
)

■JAVABEANS
package jp.co.nec.XXX.web.entity;
import java.io.Serializable;
 
public class TEST implements Serializable {

 private static final long serialVersionUID = 1L;

 public static final String TABLE = "T_TEST";
 
 public static final String col1_COLUMN = "COL1";
 
 protected String col1;
 
 public String getcol1() {
  return col1;
 }
 
 public void setcol1(String col1) {
  this.col1 = col1;
 }
   ....col2と続く


Seasar-user メーリングリストの案内