我使用Zeos进行了测试,以了解: ZTable是否使用fetch技术?
将来我们可能会将我们较小的系统迁移到PGSQL,这是现在使用的“表”组件(作为BDE,但它有一个类似SQL的服务器)。
这些表使用真正的游标,一个有N条记录的“窗口”,所以查找非常快,因为定位/查找是在服务器上启动的,并且只刷新这N条记录,无论查找表中有多少条记录。
据我所知,PGSQL使用fetch技术,我用一个表(id为int,名称为varchar(100))和100万条记录对其进行了测试。(我也尝试了mysql)。适配器是Zeos。
要查找的ID、秒,客户端上分配的内存,以字节为单位。
MySQL
500000 2,761 113 196 344
1000000 3,214 225 471 232
313800 0,437 225 471 232
328066 0,468 225 471 232
276374 0,390 225 471 232
905984 1,264 225 471 232
260253 0,359 225 471 232
PGSQL
500000 3,042 113 188 184
1000000 3,744 225 463 064
313800 0,436 225 463 064
328066 0,452 225 463 064
276374 0,375 225 463 064
905984 1,295 225 463 064
260253 0,359 225 463 064
142023 0,203 225 463 064正如你所看到的,记录是在本地获取的,这导致了225MB的使用率,并且搜索速度有点慢,因为我们必须找到记录的位置。
我想问更多的问题:
a.)PGDAC有没有一些技术可以让我们不用花费内存和秒就能使用查找?
b.)还是PG ODBC驱动程序可以帮助解决ADO的这个问题?(据我所知,ADO可以使用服务器端游标)?
c.)有没有人有过查找表和性能方面的经验?这是关键问题还是不关键问题?(客户端内存使用率也是如此)。
d.)如果没有机会用查找来避免地狱,我们能做什么呢?服务器端连接,以及在没有真正查找的情况下更改查找字段的唯一代码?
感谢您的帮助: dd
发布于 2011-02-07 16:22:16
开发人员回答我:
你好,
现在,PgDAC不能按您希望的那样使用服务器端游标。我们将研究在PgDAC的下一个构建/版本中添加此功能的可能性。
致以最好的问候,Alex Devart Team www.devart.com
所以现在没有SS游标。
感谢: dd
https://stackoverflow.com/questions/4711027
复制相似问题