Subject | RaveReport and IBO it seems very slow ! |
---|---|
Author | toninhonunes |
Post date | 2004-01-05T23:40:53Z |
Hi,
I'm using IBO and RaveReport for build my report, but it seems to be
very slow to print using IBO components.
I did tests using Dbxpress and it's works fine! using IBOQuery with
IBODataBase it's seems very slow, I don't know but that to do,
perhaps I did something wrong, see my configuration.
Delphi 7 Enterprise
IBO Latest Version.
RaveReport Latest Version
IBODATABASE
object IBODatabase1: TIBODatabase
SQLDialect = 3
Params.Strings = (
'SERVER=SERVIDOR'
'PATH=/usr/local/seebcgms/sindical/seebcgms.gdb'
'PROTOCOL=TCP/IP'
'USER NAME=SYSDBA'
'SQL DIALECT=3'
'FORCED WRITES=TRUE'
'RESERVE PAGE SPACE=TRUE')
Left = 44
Top = 20
SavedPassword = '.JuMbLe.01.432B0639073E0E4B49'
end
--------------------------------------------------------------
IBOQUERY
object IBOQry_Banco: TIBOQuery
Params = <>
AutoCalcFields = False
ColumnAttributes.Strings = (
'CODIGO_BANCO=REQUIRED'
'NOME_BANCO=REQUIRED')
DatabaseName = 'SERVIDOR:/usr/local/seebcgms/sindical/seebcgms.gdb'
IB_Connection = IBODatabase1
IB_Transaction = IBOTransaction1
RecordCountAccurate = False
Unidirectional = True
SQL.Strings = (
'SELECT'
' CODIGO_BANCO'
' , NOME_BANCO'
'FROM BANCO ORDER BY CODIGO_BANCO')
FieldOptions = []
Left = 256
Top = 24
object IBOQry_BancoCODIGO_BANCO: TSmallintField
FieldName = 'CODIGO_BANCO'
Origin = 'BANCO.CODIGO_BANCO'
ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
Required = True
end
object IBOQry_BancoNOME_BANCO: TStringField
FieldName = 'NOME_BANCO'
Origin = 'BANCO.NOME_BANCO'
Required = True
Size = 40
end
end
See the log that Query !
/*---
CONNECT DATABASE SERVIDOR:/usr/local/seebcgms/sindical/seebcgms.gdb
DB_HANDLE = 11624880
SECONDS = 0,020
----*/
/*---
DATABASE INFO
DB_HANDLE = 11624880
----*/
/*---
START TRANSACTION
DB HANDLE COUNT 1
TR_HANDLE = 11624504
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624576
/* OldParameterOrder test query */
SELECT R.RDB$RELATION_NAME,
(SELECT RDB$FIELD_NAME
FROM RDB$RELATION_FIELDS F
WHERE F.RDB$RELATION_NAME=R.RDB$RELATION_NAME
AND F.RDB$FIELD_POSITION=? /* PRM_0 */ ) AS TESTFIELD
FROM RDB$RELATIONS R
WHERE R.RDB$RELATION_NAME=? /* PRM_1 */
PLAN (F INDEX (RDB$INDEX_4))
PLAN (R INDEX (RDB$INDEX_0))
FIELDS = [ Version 1 SQLd 2 SQLn 30
RDB$RELATIONS.RDB$RELATION_NAME = <NIL>
[TESTFIELD] = <NIL> ]
SECONDS = 0,030
----*/
/*---
START TRANSACTION
DB HANDLE COUNT 1
TR_HANDLE = 11624392
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
SELECT RDB$PROCEDURE_NAME
FROM RDB$PROCEDURES
ORDER BY RDB$PROCEDURE_NAME ASC
PLAN (RDB$PROCEDURES ORDER RDB$INDEX_21)
FIELDS = [ Version 1 SQLd 1 SQLn 30
RDB$PROCEDURES.RDB$PROCEDURE_NAME = <NIL> ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
PARAMS = [ ]
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
SELECT S.RDB$FIELD_NAME
, I.RDB$RELATION_NAME
FROM RDB$RELATION_CONSTRAINTS C
, RDB$INDICES I
, RDB$INDEX_SEGMENTS S
WHERE C.RDB$CONSTRAINT_TYPE = 'PRIMARY KEY'
AND C.RDB$RELATION_NAME = I.RDB$RELATION_NAME
AND C.RDB$INDEX_NAME = I.RDB$INDEX_NAME
AND I.RDB$INDEX_NAME = S.RDB$INDEX_NAME
ORDER BY I.RDB$RELATION_NAME ASC
, S.RDB$FIELD_POSITION ASC
PLAN SORT (JOIN (C NATURAL,I INDEX (RDB$INDEX_5,RDB$INDEX_31),S INDEX
(RDB$INDEX_6)))
FIELDS = [ Version 1 SQLd 2 SQLn 30
RDB$INDEX_SEGMENTS.RDB$FIELD_NAME = <NIL>
RDB$INDICES.RDB$RELATION_NAME = <NIL> ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
PARAMS = [ ]
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624392
STMT_HANDLE = 11624576
SELECT
CODIGO_BANCO
, NOME_BANCO
FROM BANCO
ORDER BY CODIGO_BANCO ASC
PLAN (BANCO ORDER RDB$PRIMARY4)
FIELDS = [ Version 1 SQLd 2 SQLn 30
BANCO.CODIGO_BANCO = <NIL>
BANCO.NOME_BANCO = <NIL> ]
SECONDS = 0,010
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
SELECT R.RDB$FIELD_NAME
, R.RDB$RELATION_NAME
FROM RDB$RELATION_FIELDS R, RDB$FIELDS F
WHERE R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME
AND F.RDB$COMPUTED_SOURCE IS NOT NULL
AND NOT R.RDB$RELATION_NAME STARTING WITH 'RDB$'
ORDER BY 1 ASC
PLAN SORT (JOIN (F NATURAL,R INDEX (RDB$INDEX_3)))
FIELDS = [ Version 1 SQLd 2 SQLn 30
RDB$RELATION_FIELDS.RDB$FIELD_NAME = <NIL>
RDB$RELATION_FIELDS.RDB$RELATION_NAME = <NIL> ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
PARAMS = [ ]
SECONDS = 0,010
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
SELECT F.RDB$FIELD_NAME F_FieldName
, F.RDB$RELATION_NAME F_RelationName
, F.RDB$DEFAULT_SOURCE F_DefaultSource
, D.RDB$DEFAULT_SOURCE D_DefaultSource
, D.RDB$FIELD_TYPE D_FieldType
FROM RDB$RELATION_FIELDS F
INNER JOIN RDB$FIELDS D
ON D.RDB$FIELD_NAME = F.RDB$FIELD_SOURCE
WHERE (( F.RDB$DEFAULT_SOURCE IS NOT NULL ) OR ( D.RDB$DEFAULT_SOURCE
IS NOT NULL ))
AND NOT F.RDB$RELATION_NAME STARTING WITH 'RDB$'
ORDER BY 1 ASC
PLAN SORT (JOIN (F NATURAL,D INDEX (RDB$INDEX_2)))
FIELDS = [ Version 1 SQLd 5 SQLn 30
RDB$RELATION_FIELDS.RDB$FIELD_NAME[F_FIELDNAME] = <NIL>
RDB$RELATION_FIELDS.RDB$RELATION_NAME[F_RELATIONNAME] = <NIL>
RDB$RELATION_FIELDS.RDB$DEFAULT_SOURCE[F_DEFAULTSOURCE] = <NIL>
RDB$FIELDS.RDB$DEFAULT_SOURCE[D_DEFAULTSOURCE] = <NIL>
RDB$FIELDS.RDB$FIELD_TYPE[D_FIELDTYPE] = <NIL> ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
PARAMS = [ ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624392
STMT_HANDLE = 11624576
PARAMS = [ ]
----*/
---------------------------
Rave RvDataSetConnection
object RvDataSetConnection1: TRvDataSetConnection
LocalFilter = False
RuntimeVisibility = rtNone
DataSet = DM_RELATORIO.IBOQry_Banco
Left = 156
Top = 36
end
Any clues, please!
Toninho Nunes
I'm using IBO and RaveReport for build my report, but it seems to be
very slow to print using IBO components.
I did tests using Dbxpress and it's works fine! using IBOQuery with
IBODataBase it's seems very slow, I don't know but that to do,
perhaps I did something wrong, see my configuration.
Delphi 7 Enterprise
IBO Latest Version.
RaveReport Latest Version
IBODATABASE
object IBODatabase1: TIBODatabase
SQLDialect = 3
Params.Strings = (
'SERVER=SERVIDOR'
'PATH=/usr/local/seebcgms/sindical/seebcgms.gdb'
'PROTOCOL=TCP/IP'
'USER NAME=SYSDBA'
'SQL DIALECT=3'
'FORCED WRITES=TRUE'
'RESERVE PAGE SPACE=TRUE')
Left = 44
Top = 20
SavedPassword = '.JuMbLe.01.432B0639073E0E4B49'
end
--------------------------------------------------------------
IBOQUERY
object IBOQry_Banco: TIBOQuery
Params = <>
AutoCalcFields = False
ColumnAttributes.Strings = (
'CODIGO_BANCO=REQUIRED'
'NOME_BANCO=REQUIRED')
DatabaseName = 'SERVIDOR:/usr/local/seebcgms/sindical/seebcgms.gdb'
IB_Connection = IBODatabase1
IB_Transaction = IBOTransaction1
RecordCountAccurate = False
Unidirectional = True
SQL.Strings = (
'SELECT'
' CODIGO_BANCO'
' , NOME_BANCO'
'FROM BANCO ORDER BY CODIGO_BANCO')
FieldOptions = []
Left = 256
Top = 24
object IBOQry_BancoCODIGO_BANCO: TSmallintField
FieldName = 'CODIGO_BANCO'
Origin = 'BANCO.CODIGO_BANCO'
ProviderFlags = [pfInUpdate, pfInWhere, pfInKey]
Required = True
end
object IBOQry_BancoNOME_BANCO: TStringField
FieldName = 'NOME_BANCO'
Origin = 'BANCO.NOME_BANCO'
Required = True
Size = 40
end
end
See the log that Query !
/*---
CONNECT DATABASE SERVIDOR:/usr/local/seebcgms/sindical/seebcgms.gdb
DB_HANDLE = 11624880
SECONDS = 0,020
----*/
/*---
DATABASE INFO
DB_HANDLE = 11624880
----*/
/*---
START TRANSACTION
DB HANDLE COUNT 1
TR_HANDLE = 11624504
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624576
/* OldParameterOrder test query */
SELECT R.RDB$RELATION_NAME,
(SELECT RDB$FIELD_NAME
FROM RDB$RELATION_FIELDS F
WHERE F.RDB$RELATION_NAME=R.RDB$RELATION_NAME
AND F.RDB$FIELD_POSITION=? /* PRM_0 */ ) AS TESTFIELD
FROM RDB$RELATIONS R
WHERE R.RDB$RELATION_NAME=? /* PRM_1 */
PLAN (F INDEX (RDB$INDEX_4))
PLAN (R INDEX (RDB$INDEX_0))
FIELDS = [ Version 1 SQLd 2 SQLn 30
RDB$RELATIONS.RDB$RELATION_NAME = <NIL>
[TESTFIELD] = <NIL> ]
SECONDS = 0,030
----*/
/*---
START TRANSACTION
DB HANDLE COUNT 1
TR_HANDLE = 11624392
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
SELECT RDB$PROCEDURE_NAME
FROM RDB$PROCEDURES
ORDER BY RDB$PROCEDURE_NAME ASC
PLAN (RDB$PROCEDURES ORDER RDB$INDEX_21)
FIELDS = [ Version 1 SQLd 1 SQLn 30
RDB$PROCEDURES.RDB$PROCEDURE_NAME = <NIL> ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
PARAMS = [ ]
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
SELECT S.RDB$FIELD_NAME
, I.RDB$RELATION_NAME
FROM RDB$RELATION_CONSTRAINTS C
, RDB$INDICES I
, RDB$INDEX_SEGMENTS S
WHERE C.RDB$CONSTRAINT_TYPE = 'PRIMARY KEY'
AND C.RDB$RELATION_NAME = I.RDB$RELATION_NAME
AND C.RDB$INDEX_NAME = I.RDB$INDEX_NAME
AND I.RDB$INDEX_NAME = S.RDB$INDEX_NAME
ORDER BY I.RDB$RELATION_NAME ASC
, S.RDB$FIELD_POSITION ASC
PLAN SORT (JOIN (C NATURAL,I INDEX (RDB$INDEX_5,RDB$INDEX_31),S INDEX
(RDB$INDEX_6)))
FIELDS = [ Version 1 SQLd 2 SQLn 30
RDB$INDEX_SEGMENTS.RDB$FIELD_NAME = <NIL>
RDB$INDICES.RDB$RELATION_NAME = <NIL> ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
PARAMS = [ ]
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624392
STMT_HANDLE = 11624576
SELECT
CODIGO_BANCO
, NOME_BANCO
FROM BANCO
ORDER BY CODIGO_BANCO ASC
PLAN (BANCO ORDER RDB$PRIMARY4)
FIELDS = [ Version 1 SQLd 2 SQLn 30
BANCO.CODIGO_BANCO = <NIL>
BANCO.NOME_BANCO = <NIL> ]
SECONDS = 0,010
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
SELECT R.RDB$FIELD_NAME
, R.RDB$RELATION_NAME
FROM RDB$RELATION_FIELDS R, RDB$FIELDS F
WHERE R.RDB$FIELD_SOURCE = F.RDB$FIELD_NAME
AND F.RDB$COMPUTED_SOURCE IS NOT NULL
AND NOT R.RDB$RELATION_NAME STARTING WITH 'RDB$'
ORDER BY 1 ASC
PLAN SORT (JOIN (F NATURAL,R INDEX (RDB$INDEX_3)))
FIELDS = [ Version 1 SQLd 2 SQLn 30
RDB$RELATION_FIELDS.RDB$FIELD_NAME = <NIL>
RDB$RELATION_FIELDS.RDB$RELATION_NAME = <NIL> ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
PARAMS = [ ]
SECONDS = 0,010
----*/
/*---
PREPARE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
SELECT F.RDB$FIELD_NAME F_FieldName
, F.RDB$RELATION_NAME F_RelationName
, F.RDB$DEFAULT_SOURCE F_DefaultSource
, D.RDB$DEFAULT_SOURCE D_DefaultSource
, D.RDB$FIELD_TYPE D_FieldType
FROM RDB$RELATION_FIELDS F
INNER JOIN RDB$FIELDS D
ON D.RDB$FIELD_NAME = F.RDB$FIELD_SOURCE
WHERE (( F.RDB$DEFAULT_SOURCE IS NOT NULL ) OR ( D.RDB$DEFAULT_SOURCE
IS NOT NULL ))
AND NOT F.RDB$RELATION_NAME STARTING WITH 'RDB$'
ORDER BY 1 ASC
PLAN SORT (JOIN (F NATURAL,D INDEX (RDB$INDEX_2)))
FIELDS = [ Version 1 SQLd 5 SQLn 30
RDB$RELATION_FIELDS.RDB$FIELD_NAME[F_FIELDNAME] = <NIL>
RDB$RELATION_FIELDS.RDB$RELATION_NAME[F_RELATIONNAME] = <NIL>
RDB$RELATION_FIELDS.RDB$DEFAULT_SOURCE[F_DEFAULTSOURCE] = <NIL>
RDB$FIELDS.RDB$DEFAULT_SOURCE[D_DEFAULTSOURCE] = <NIL>
RDB$FIELDS.RDB$FIELD_TYPE[D_FIELDTYPE] = <NIL> ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624504
STMT_HANDLE = 11624200
PARAMS = [ ]
SECONDS = 0,010
----*/
/*---
EXECUTE STATEMENT
TR_HANDLE = 11624392
STMT_HANDLE = 11624576
PARAMS = [ ]
----*/
---------------------------
Rave RvDataSetConnection
object RvDataSetConnection1: TRvDataSetConnection
LocalFilter = False
RuntimeVisibility = rtNone
DataSet = DM_RELATORIO.IBOQry_Banco
Left = 156
Top = 36
end
Any clues, please!
Toninho Nunes