喫茶XRAYトップページ

[スレッド全体
]

[6891] 時間短縮したいとお望みの貴兄に返信 削除
2013/4/22 (月) 15:45:11 Syake
貴方は一度に10行のレコードを読み込みますか?
1万行はあるけど10万行は無い?

そんな貴方にお勧めです。
TDBXReaderでデータをLoadしてみませんか。


10万行(DBX)
        FieldByNameで呼出し 約51秒
      Fieldsで呼出し      約43.7秒
1万行(DBX)
        FieldByNameで呼出し 約5.1秒
      Fieldsで呼出し      約4.4秒

これでも早いですか?


10万行(TDBXReader)
        Value['xxxx']で呼出し 約6秒   //フィールド名で呼出し
      Value[X]で呼出し      約3.5秒
1万行(DBX)
        Value['xxxx']で呼出し 約0.6秒    //フィールド名で呼出し
      Value[X]で呼出し      約0.34秒

これでも遅いですか?




[6916] Re:時間短縮したいとお望みの貴兄に返信 削除
2013/4/25 (木) 20:05:35 Pro版匿名ユーザー
こんにちは。
○○○ーな事情ありで匿名希望、削除可です(笑)


FireDacあたりもTDataset互換がウリらしく、
Pro版単体の存在価値も限りなくゼロに近くなるように読めたりして
書き込ませてください。

たとえば、ODBC API(順方向カーソルのSQLGetData)直書きで、
5列の10万行のSelectでFirebird/SQLite共、軽く3.5秒前後はでます。
(これぐらいの件数ですと、列数とサイズなど属性で変動が大きく、あくまで参考レベルの話)

>10万行(DBX)
>Value[X]で呼出し      約3.5秒


↑確かに速いですが、ODBCもDBMS依存なColbindとかでもう少し高速にもなります。
で、

>Fieldsで呼出し      約43.7秒

↑単に素のDBX(というかTDataset周り)が遅すぎるだけの話のような気がします。

企業向けフレームワークとかの謳い文句はわかるのですが、
この程度で満足なWin限定ユーザーさんは迷いなく、.Net一択でしたし、
クライアント側双方向カーソルでグリッド表示なんかは、
10年前のネットワーク環境向けのような側面もあります。
こんな時代遅れフレームワークで売り惜しみ的ビジネスをするのか理解不能です(涙)

ただ、TDataset互換が邪魔なだけで、DBXドライバ自体は、Mobile含めて使い道ありそうで
Pro版添付など遅ればせながらDelphi製アプリの間口広げる姿勢になった方が、
とっくに淘汰されたIDEビジネスなんかにもプラスだと思うんですけどね。

○○○ー暇なしPro版ユーザーの声でした(笑)


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82