喫茶XRAYトップページ

[スレッド全体
]

[12627] 無題返信 削除
2019/3/14 (木) 17:48:07 Villa 〔HomePage
質問させていただきます。

現在、VCLフォームアプリケーションのシステムを作成しており、
TADOQueryを使用してSQL文をOpenしています。

そのデータベースの量が多く、結果のレスポンスが遅いため
progressbarを出して、styleプロパティを「pbstMarquee」に設定して起動させています。

問題はここからで、SQLの結果のレスポンスが遅いためなのか、
GUIの更新がなく、progressbarも止まったままで、SQLの結果が返ってきた後に動く、
ということになってしまっています。

どこで、マルチスレッド?のような仕組みで、
クエリのOpenとは別にProgressbarは動くようにならないものか、と思いました。

それができれば、同一フォーム内の複数のTADOQueryを同時オープンとかができるのではないか、、、など期待しております。

下手な文章ですが、もし手掛かりがあるようでしたら、教えていただけると幸いです。

よろしくお願いいたします。

[12628] クエリーの進捗をTProgressBar表示返信 削除
2019/3/14 (木) 19:30:51 Mr.XRAY
> GUIの更新がなく、progressbarも止まったままで、SQLの結果が返ってきた後に動く、
> ということになってしまっています。


う〜む.どうなんでしようね.
pbstMarquee は関係ないのかな.

クエリーの実行が遅いようですが,インデックスとかはとうなんでしよう.

こんなのもありますが・・・

[Data.Win.ADODB.TCustomADODataSet.OnFetchProgress]
http://docwiki.embarcadero.com/Libraries/Rio/ja/Data.Win.ADODB.TCustomADODataSet.OnFetchProgress

[TADOQuery で処理の進行状況を取得]
https://ht-deko.com/delphiforum/?vasthtmlaction=viewtopic&t=1184.0
↑ こんなの書いていたんだ.全く記憶にございませんです.
おそらく何かのレスとして書いたのかも知れません.


[12629] Re:クエリーの進捗をTProgressBar表示返信 削除
2019/3/15 (金) 08:28:16 SO
▼ Mr.XRAYさん
 
> クエリーの実行が遅いようですが,インデックスとかはとうなんでしよう.

DBがなんなのか分かりませんが、SSMSだと不足しているインデックスを教えてくれたりします。。。
プロのDB設計者にはかなわないと思いますが。。。

[12630] Re2:クエリーの進捗をTProgressBar表示返信 削除
2019/3/15 (金) 10:25:22 Mr.XRAY
> DBがなんなのか分かりませんが、SSMSだと不足しているインデックスを教えてくれたりします。。。
> プロのDB設計者にはかなわないと思いますが。。。


へぇ〜,そんな仕様があるんですか.スゴイですね.
Paradox や JET だとインデックがなくてもそこそこ動作するようですが,
(ある程度の自動インデックスなのか ?)
インデックスが適切でないと悲惨ですからねぇ.

DB がなんのかも分かりませんし,
Tprogressba でどこでとんな進捗状況を見るのかも分かりませんが・・・(笑)
まっ,雑談系の掲示板なので・・・


[12631] Re3:クエリーの進捗をTProgressBar表示返信 削除
2019/3/15 (金) 10:44:59 Mr.XRAY
>そのデータベースの量が多く、結果のレスポンスが遅いため

レコード数のことだと思いますが,
多い少ないも感覚的に人によりますね.
100 万で多いと言う方もいれば,1 億,2 億で多いと言う方もいるでしょうし.
一応データベースですから,数万程度では多いとは言わないかも.


[12633] Re4:クエリーの進捗をTProgressBar表示返信 削除
2019/3/15 (金) 11:03:55 Mr.XRAY
> >そのデータベースの量が多く、結果のレスポンスが遅いため

一般的には「データベースの量」という表現はないですね.
言うのであれば「データベースの数」ですね.

例えばですね.コップに水をいっぱい入れたとします.この時は
「水の量が多い」と言いますが「水の数が多い」とは言いません.


[12635] Re5:クエリーの進捗をTProgressBar表示返信 削除
2019/3/15 (金) 11:12:18 Mr.XRAY
> 例えばですね.コップに水をいっぱい入れたとします.この時は
> 「水の量が多い」と言いますが「水の数が多い」とは言いません.


コップの中の「水の『分子』の数が多い」と言えなくもない ?


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