> Just run this query and show us results: > > SELECT R.RDB$RELATION_NAME, COUNT(*) > FROM RDB$PAGES PG JOIN RDB$RELATIONS R > ON PG.RDB$RELATION_ID = R.RDB$RELATION_ID > WHERE PG.RDB$PAGE_TYPE = 4 > AND R.RDB$RELATION_NAME IN ('DESC_VARCHAR', 'DESC_EMPTY') > GROUP BY R.RDB$RELATION_NAME
DESC_BLOB: 1872 DESC_EMPTY: 135 DESC_VARCHAR: 2166 > Also, could you repeat the test using bigger page cache, say > 1200 pages ? With page buffer to 1200 pages, nothing change too much, but with a buffer of around 3000 page yes stat become to be better (but not for the first select, we need to do several select to see the speed go down, i thing the time to read the page from disk to the cache) with 1200 pages buffer => 23 ms / select with 3000 pages buffer => 10 ms / select (so 2x more faster) the problem with superclassic architecture not so easy to increase the page buffer without taking the risk to use an huge amount of memory during peak activity time select IDObj From desc_varchar where IDObj='NOT_EXIST' ******************************** 1rt select PREPARE : Time Taken: 31 ms page_reads: 2182 page_writes: 0 page_fetches: 2287 page_marks: 0 record_idx_reads: 20 record_seq_reads: 0 EXECUTE : Time Taken: 0 ms page_reads: 4 page_writes: 0 page_fetches: 4 page_marks: 0 record_idx_reads: 0 record_seq_reads: 0 ******************************** 2nd time PREPARE : Time Taken: 16 ms page_reads: 0 page_writes: 0 page_fetches: 2169 page_marks: 0 record_idx_reads: 0 record_seq_reads: 0 select Time Taken: 0 ms page_reads: 0 page_writes: 0 page_fetches: 4 page_marks: 0 record_idx_reads: 0 record_seq_reads: 0