Hi all, I did a little test about Firebird 2.5 SuperServer 64 bit performance on these 2 OS. Both running on the same cpu, others setting are 1) CentOS 6 : RAM 2GB, file ext4, database on disk 2) Win 7 : RAM 4GB, database on RAM
Table structure for this test : CREATE TABLE DT_LOG ( DT Date DEFAULT CURRENT_DATE, CD Char(4) NOT NULL, STR Varchar(80), INP_AT Time DEFAULT CURRENT_TIME ); CREATE INDEX IDX_DT_LOG1 ON DT_LOG (CD); CREATE INDEX IDX_DT_LOG2 ON DT_LOG (DT); CREATE INDEX IDX_DT_LOG3 ON DT_LOG (DT,CD); SQL statement issued : SELECT a.DT, a.CD, a.STR, a.INP_AT FROM DT_LOG a where a.INP_AT = (select max(c.INP_AT) from DT_LOG c where c.CD = a.cd and c.DT = '11/17/11') and dt = '11/17/11' order by cd Result and executing time : 1) CentOS 6 Executing... Done. 8468502 fetches, 2 marks, 4244984 reads, 2 writes. 0 inserts, 0 updates, 0 deletes, 4144063 index, 0 seq. Delta memory: 219264 bytes. Total execution time: 43.510s Script execution finished. 2) Win 7 Executing... Done. 8432907 fetches, 4 marks, 1294 reads, 4 writes. 0 inserts, 0 updates, 0 deletes, 4144031 index, 0 seq. Delta memory: 104600 bytes. Total execution time: 6.854s Script execution finished. I wonder, why CentOS reads so many records (4244984 reads) compare to Win 7 (1294 reads). Maybe someone could give me an explanation? Thanks in advance. Best regards, Sugiarto