用 Tquery 还是 Ttable??

gxdq 2001-02-17 01:12:00
如果不用缓存,用 Tquery+动态sql 和 Ttable+静态连接 , 那个速度更快?

(使用sql server 6.5 and 7.0 sp2)
...全文
462 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanlen 2001-02-20
  • 打赏
  • 举报
回复
開發本地的用TTABLE
開發SQL的,和網絡的一定要用TQUERY,我是吃透了這方面的苦頭了,一個單機版的改為網絡版快把我累死了。
hanlen 2001-02-20
  • 打赏
  • 举报
回复
開發本地的用TTABLE
開發SQL的,和網絡的一定要用TQUERY,我是吃透了這方面的苦頭了,一個單機版的改為網絡版快把我累死了。
花狐貂 2001-02-20
  • 打赏
  • 举报
回复
如果要操作数据库中的数据,最好用TQuery+Sql,操作比较方便,而且执行较快,如果是
用于简单的浏览数据,用TTable比较好。但是,在TTable和TQuery同时用于一个数据表时,
TTable的使用可能会导致TQuery有些时候对数据的操作要失败(如Update,insert等),或者
TQuery已经把数据更新了,而TTable的数据没有及时的与TQuery同步更新!这要根据实际情况
选择使用!
花狐貂 2001-02-20
  • 打赏
  • 举报
回复
如果要操作数据库中的数据,最好用TQuery+Sql,操作比较方便,而且执行较快,如果是
用于简单的浏览数据,用TTable比较好。但是,在TTable和TQuery同时用于一个数据表时,
TTable的使用可能会导致TQuery有些时候对数据的操作要失败(如Update,insert等),或者
TQuery已经把数据更新了,而TTable的数据没有及时的与TQuery同步更新!这要根据实际情况
选择使用!
gxdq 2001-02-19
  • 打赏
  • 举报
回复
谢谢大家!
WoodyWoody 2001-02-19
  • 打赏
  • 举报
回复
当TTable被open时,系统执行从后台数据库传数据到TTable所在机器的内存中的过程,这个过程直到TTable的Buffer满为止,而TQuery也为所需查询的数据准备一个Buffer,如果遵循这么一个原则,即不用的数据不要请求,请求尽可能少的需要用到的数据,就可以保证数据库系统有较好的效率.当数据请求量增大时,TQuery可利用增加服务器端开销而减少网络开销的方式使分布系统具有较好的效率.
float 2001-02-19
  • 打赏
  • 举报
回复
用TQuery怎么用数据感应控件?
gxdq 2001-02-18
  • 打赏
  • 举报
回复
To pianxin00(偏心):
"并且Tquery+SQL能干的,Ttable都行",我看不是这样吧!!复杂的多表连接查询(9个表)如何实现?放9个Table?

To qkl(康):
我的程序用Tquery使用索引后,效率提高了85%(5.21m=>5s) 
z_jingxin 2001-02-18
  • 打赏
  • 举报
回复
gxdq兄,
回答完就给加点分吧!!
z_jingxin 2001-02-18
  • 打赏
  • 举报
回复
这个问题提的好!
分很多种情况:
1、如果是本地库,则使用Ttable要快于Tquery,有好几倍。因为使用TABLE时,执行的操作直接由BDE进行解释,生成合理的SQL语句后再执行,使用QUERY,BDE要将QUERY里的SQL再解释成自己的SQL后在执行。
2、如果是远程则用TQuery比Ttable快的多。这时QUERY中的SQL直接传到后台进行执行,而TABLE
还要由BDE进行解释后才传过去。
3、另外对特殊的几种数据库也有特殊情况。

qkl 2001-02-18
  • 打赏
  • 举报
回复
我赞成godwolf1973(wolf),
说明:就本地库(paradox、access)"select * from TableName"类型而言TTable一般总比TQuery快(当然条件查询TTable不灵活,但索引建立得当TTable还是快的) ;
对于SQL SERVER来说使用TQuery一般更好。
pianxin00 2001-02-18
  • 打赏
  • 举报
回复
用Ttable快些,因为Tquery的SQL语句需要通过编译转换才能执行,并且Tquery+SQL能干的,Ttable都行。
linkie 2001-02-18
  • 打赏
  • 举报
回复
我比较喜欢用TQuestion来动态地编辑Sql语句,实现所有对数据库的操作。
总之,用起来挺方便,效率也蛮高的呢!
JimXiang 2001-02-18
  • 打赏
  • 举报
回复
同意楼上的
foolishcat 2001-02-18
  • 打赏
  • 举报
回复
本地、数据量不太大:Ttable
远程:Tquery
shnfm 2001-02-17
  • 打赏
  • 举报
回复
当然是用Tquery快了!用了这么久了,比Ttable方便多了。
godwolf1973 2001-02-17
  • 打赏
  • 举报
回复
本地机用Table好一些,远程当然用TQUERY了。
godwolf1973 2001-02-17
  • 打赏
  • 举报
回复
本地机用Table好一些,远程当然用TQUERY了。
susdj 2001-02-17
  • 打赏
  • 举报
回复
我做了Tquery SQL和TTable查询DBF库,TTable快了很多,不过后者是用了索引。
不知道Tquery用上索引的速度是否会快很多。
lxl 2001-02-17
  • 打赏
  • 举报
回复
明显是TQUERY要快些且可靠,
TABLE在SQL中的使用会导致许多怪事,比如你打开的一个TTABLE,
会影响你在其他地方更新此数据库,或根本不能UPDATE。
加载更多回复(6)

5,390

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧