- 1 名前: ◆XcB18Bks.Y mailto:sage [2008/03/12(水) 21:09:39 ]
- Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その45 pc11.2ch.net/test/read.cgi/tech/1198802907/ <過去スレ> DelWiki避難所(Delphi 関連の過去スレッド) delwiki.info/?Delphi%20%B4%D8%CF%A2%A4%CE%B2%E1%B5%EE%A5%B9%A5%EC%A5%C3%A5%C9
- 7 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 10:05:16 ]
- 変わるよ。
たいてい?のデータベースはSELECT文を実行して、最初の数行が決定された 段階でクライアント側に応答を返す。で、クライアント側がカーソルを 使ってフェッチしながら、その裏でデータベースサーバーは続きの行を一生懸命 求めている。つまり、君の言う「Select文の実行」時間とは、サーバーから 応答が返ってきた時間であって、サーバー側ではまだ処理は終わってないんだよ。
- 8 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 10:19:54 ]
- 後、文章から判断するとCursorLocationプロパティがclUseServerのサーバーカーソル使ってそうだね。
サーバーカーソルならデータベースのカーソルと同じと考えていいけど、 clUseClientのクライアントカーソルに設定すると、ADOがSELECT文を実行し、 すべての行をクライアントのメモリをフェッチするまで、応答を返さないから 君の測定もまた変わる。その変わり、君の言う「Query内を参照し書き出す」時間 はインデックあろうとなかろうと、返される行数が同じならほぼ一定時間になると思う。
- 9 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 10:28:03 ]
- いや、クライアントカーソルの時「Query内を参照し書き出す」時間が一定になると
書いたが嘘かもしれん。むしろ、嘘っぽいかも。
|

|