[seasar-dotnet:769] Re: S2DAO.NET:Oracle10g への外だし SQL の実行が遅いように見える

Ryo Miyagi [E-MAIL ADDRESS DELETED]
2008年 2月 6日 (水) 14:15:58 JST


宮城です。

久保さんもかかれていましたが、
同じSQLを2回実行してみて1回目だけが遅いかどうか確認していただけますか。

遅い場合、メタデータの取得に時間がかかっていることになります。
(おそらくメタデータの取得処理時に全行取得処理が走っているためです)
この現象は、
https://www.seasar.org/issues/browse/CONTAINERNET-42
で報告されていますが、現在未対応の状態です。

もし、S2Container.NETのソースファイルを修正することが可能でしたら
Seasar.Extension.ADO.Impl.DatabaseMetaDataImplクラスの
CreateTableMetaDataメソッドの次の行を修正してみてください。

[修正前]
// テーブル定義情報を取得するためのSQLを作成する
string sql = "SELECT * FROM " + tableName;

[修正後]
// テーブル定義情報を取得するためのSQLを作成する
string sql = "SELECT * FROM " + tableName + " WHERE rownum <= 1";


seasar-dotnet メーリングリストの案内