郵件:XXX:
  問個Delphi問題:
 ADOStoredProc在查詢後,怎樣清除他在緩沖裡的數據,以便更新後,立刻就
 會有新的數據顯示!答:
查詢一般不建議用Storedproc,AdoQuery不是更快更好嗎?問:
好像StoredProc還快一些吧!
何況ADOQuery的Sql只能容納有限的字符長度(當然StoredProc也有限制,但能夠很長)!答:
如果是簡單的查詢的話就用Query,
Stored Procedure 的運用, 常常用在有大量的"中間性"資料時,
舉例來說,如展開產品的原料用料表, 中間的物料組合關係,關系表復雜等。
一般采用 Stored Procedure 產生Tempory Table ,再運用 Tempory Table
去"收集"結果, 然後傳回.當然你個人覺的哪個好就用哪個啦,只是Query相對來說方便、靈活一些,
功能上面相對多一些。
(2005-03-26 13:43:12)   XXX
上午我有回你的郵件看到了嗎 
(2005-03-26 13:43:31)   yyy
看到。
謝謝了 
(2005-03-26 13:43:26)   XXX
查詢一般不建議用storedproc 
除非我說的那種復雜的,需要連接多個表並生成新表的 
原因是什麼呢?
你想啊,查詢這種東西是很多人在用的,而且很有可能大家同時都在用對吧,多個人在用的時候這個就很容易導致server掛掉 
查詢不比存取 
所以最好不用storedproc做查詢 
容易讓server受不了,也不查詢 
特別是查詢數據量大時就更是
為什麼品保的那個查詢容易死的原因就是這樣 
查詢一般是用local端來運算,從server端再反回數據 
這樣數據流量也是最合適的。 
不管是在局域網還是廣域網裡面都不建議用storedproc做查詢。 請問各位高手,我那位前輩說的對嗎,我感覺應該是StoredProc好呢!

解决方案 »

  1.   

    我的建議是使用一般的query(它的查詢也可以做到很複雜)就行了,storedproc一般用於更新及複雜的查詢.
      

  2.   

    本身没有什么优劣之分。当然,从执行角度来说,存储过程的速度优于临时的SQL,但相对也占用较多的数据库资源关键要从系统设计的角度去看问题,执开功能实现不谈,象扩展性与可维护性及性能方面都要考虑
    什么东西用滥了,再好的东西也会变成垃圾个人的爱好:
      获取数据时用AdoQuery执行SQL语句(组装,不建议放在客户端,而置于数据库中),查询或更新使用存储过程控件调用,调用时使用数据集的别名,然后解释执行.
    个人之见
      

  3.   

    to  Bes96261(秋水孤鶩) :
    你說的"获取数据"與“查詢”有什麼區別?謝謝!
      

  4.   

    存储过程的返回結果可以象query那樣任意操作嗎/它的fields屬性與query的 有何區別在用法上