lyfwz请进,有关Interbase速度的问题,熟悉的朋友也请进(200分)

  • 主题发起人 十二真空间
  • 开始时间

十二真空间

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是您在一个贴子中有关Interbase的回答
--------------------------------------------------------------------------
我有hxf的同样感受,当我最初用INTERBASE是,他真是太慢了,但后来,
我把它调到其它数据库 
的相同配置时,它使我满意了
原来,当初的运行环境不是在一个起跑线上。
--------------------------------------------------------------------------
我在使用中也发现速度不太快,怎么调整也没用,请问您是如何调整的?
 
简单的:
PAGESIZE=4096
FORCE WRITE=FALSE;
MEM ALLOCATE 5120
另外,哪些操作不快?怎样不快?
interbase有很多怪怪的所谓“技巧”
 
终于有高手回答了
MEM ALLOCATE是如何设置的?没找到,请高手指点。
所有的设置几乎都是Default的。速度最低的就要数数据索取了,从服务器索取数据量稍微
大一点,比如5000笔数据,速度就很慢,需要二十几秒,有时甚至要更多,六七十秒,而相同数据量
的SQLSERVER或MYSQL只要3秒左右,这是不能容忍的。
IB设置的地方好象不是太多,可能我还没能找到
请问大虾还有哪些怪怪的所谓“技巧”可以设置,或者是需要注意的?
 
上面写的:MEM ALLOCATE 5120,我不是高手,不过听着也还是很高兴。
数据取到本地,速度受多种影响,比如:
1、相关查询是否有建索引,当然有建,废话.
2、你用Bde/ibx/ibo/dx,是那种?建议用最新版的ibx或dbexpress。ib版本?
网络环境是局域网还是?用户并发数量?
不清楚,不过不会有你这样七倍的速度差距:)
 
MEM ALLOCATE 5120如何设置?
 
1、索引已经建了
2、使用的是最新的IBX

是用的SERVER连接方式,还是在本机呢,差距就是这么大
 
手工修改ibdonfig。
 
请问这个参数是什么意思?
 
首次连接数据库时,服务器将为其在内存中分配5120个数据库叶面。如果
更清楚一些,你可以将Sql命令贴上来看看
 
ibconfig中没找到此项,水平太菜,请大吓指点
 
那用Gfix吧:)
记不太清楚,大体是:
gfix buffers 5120 -用户名 -密码 数据库名
数据库名用绝对路径
 
我把我的设置都告诉你吧,请帮我看看需要哪些改进,或是还有哪儿没设置?
pagesize=8192
Database Cache(pages):20480
Client map size(bytes):4096
其他的我就不知道了
 
先试试吧,你用外键多吗?甚至数据库使用日久之后,bk 在恢复之类。
 
我不用外键
 
象select count(*) from letters where userfrom = 'yysun'这样的语句
返回数值为1650,数据量不大,却要等好久。
如果执行select count(*) from letters数据量有几十万的话就警告“虚拟内存不足”
而相同的数据量在SQLSERVER或MYSQL都没有问题,而且速度会很快,几秒的时间
当然了,以上这些语句应该是程序尽量避免的,不过最起码可以说明哪儿没搞对,差距不
应该会这么大的。
哎,人家都说IB很快,我却没有怎么感觉到,只是看到IBX还可以
 
count(*)要遍历,你用在sql server2k试试。可以看看:)
http://community.borland.com/article/0,1410,25549,00.html
利用索引既然在max 和 min上都有这样古怪的差别,呵呵
 
不知道楼主的设置为何? .gdb文件有多大? 如何慢? 所用的sql为何?, 用ODBC? ADO? IBX?
DbExpress? 或是其他控件? 是用Linux或windowsOS?

你们可能不知道 M$是故意在XP 或 WinME 的 System Restore 不断的复制 任何.gdb文件.
是明显的使用户以为 interbase的运作很慢.
所以interbase 7开始, interbase的数据文件都全以.ib命名, 以避开M$的打压!
 
我的操作系统为WIN2K,使用的是IBX,要是使用IBCONSOLE也一样,
所以可以肯定不是我的程序的错。
gdb文件是以前的大富翁离线数据库,索引都已经建好了,可还是那么慢
 
你是用Query来做update sql吗? 因为query需要在客户端作Data Buffer, 当一定数据
之後, 便会加重负荷了. 速度也减慢了.

所以我只会用 Stored procedure来做大量数据的update.

DbExpress应会比Ibx较好. 试试比较吧.
 
顶部