Фактические данные получены через расширение interbase через локальный Services API Firebird. Собственные учебные базы и промежуточные резервные файлы удалены после наблюдений.
Строки и дополнительные наблюдения
{
"physical_statistics": {
"data_pages": 2,
"index": "IX_FB163_QTY",
"depth": 1,
"leaf_pages": 1,
"nodes": 120
},
"selected_items": [
{
"id": 1,
"title": "SKU-001",
"qty": 1
},
{
"id": 6,
"title": "SKU-006",
"qty": 1
},
{
"id": 11,
"title": "SKU-011",
"qty": 1
}
],
"total_fixture_rows": 120,
"matching_rows": 48,
"screen_sql": "SELECT ID,TITLE,QTY FROM LAB_ITEMS WHERE QTY BETWEEN 1 AND 2 ORDER BY QTY,ID ROWS 3",
"statistics_request": {
"action": "IBASE_STS_DATA_PAGES",
"argument": "IBASE_STS_IDX_PAGES"
},
"report_excerpt": " \nDatabase \"[каталог учебного профиля]\\[учебный файл]\" \nGstat execution time Sat Nov 7 16:04:49 2026 \n \nDatabase header page information: \n\tFlags\t\t\t0 \n\tGeneration\t\t27 \n\tSystem Change Number\t0 \n\tPage size\t\t8192 \n\tODS version\t\t13.1 \n\tOldest transaction\t14 \n\tOldest active\t\t15 \n\tOldest snapshot\t\t15 \n\tNext transaction\t15 \n\tSequence number\t\t0 \n\tNext attachment ID\t3 \n\tImplementation\t\tHW=AMD\/Intel\/x64 little-endian OS=Windows CC=MSVC \n\tShadow count\t\t0 \n\tPage buffers\t\t0 \n\tNext header page\t0 \n\tDatabase dialect\t3 \n\tCreation date\t\tNov 7, 2026 13:04:48 \n\tAttributes\t\tforce write \n \n Variable header data: \n\tDatabase GUID:\t{F80C2C7E-2579-4A01-BA5B-DAEDD5DA14E4} \n\tSweep interval:\t\t20000 \n\t*END* \n \n \nDatabase file sequence: \nFile [каталог учебного профиля]\\[учебный файл] is the only file \n \nAnalyzing database pages ... \nLAB_ITEMS (128) \n Primary pointer page: 224, Index root page: 225 \n Pointer pages: 1, data page slots: 2 \n Data pages: 2, average fill: 32% \n Primary pages: 2, secondary pages: 0, swept pages: 0 \n Empty pages: 0, full pages: 0 \n Fill distribution: \n\t 0 - 19% = 1 \n\t20 - 39% = 0 \n\t40 - 59% = 1 \n\t60 - 79% = 0 \n\t80 - 99% = 0 \n \n Index IX_FB163_QTY (1) \n\tRoot page: 235, depth: 1, leaf buckets: 1, nodes: 120 \n\tAverage node length: 3.06, total dup: 115, max dup: 23 \n\tAverage key length: 2.03, compression ratio: 0.79 \n\tAverage prefix length: 1.55, average data length: 0.05 \n\tClustering factor: 10, ratio: 0.08 \n\tFill distribution: \n\t 0 - 19% = 1 \n\t 20 - 39% = 0 \n\t 40 - 59% = 0 \n\t 60 - 79% = 0 \n\t 80 - 99% = 0 \n \n Index RDB$PRIMARY1 (0) \n\tRoot page: 230, depth: 1, leaf buckets: 1, nodes: 120 \n\tAverage node length: 4.02, total dup: 0, max dup: 0 \n\tAverage key length: 3.00, compression ratio: 0.82 \n\tAverage prefix length: 1.47, average data length: 1.01 \n\tClustering factor: 2, ratio: 0.02 \n\tFill distribution: \n\t 0 - 19% = 1 \n\t 20 - 39% = 0 \n\t 40 - 59% = 0 \n\t 60 - 79% = 0 \n\t 80 - 99% = 0 \n \nPHPMAN163_OWNER (129) \n Primary pointer page: 231, Index root page: 232 \n Pointer pages: 1, data page slots: 1 \n Data pages: 1, average fill: 1% \n Primary pages: 1, secondary pages: 0, swept pages: 0 \n Empty pages: 0, full pages: 0 \n Fill distribution: \n\t 0 - 19% = 1 \n\t20 - 39% = 0 \n\t40 - 59% = 0 \n\t60 - 79% = 0 \n\t80 - 99% = 0 \n \nGstat completion time Sat Nov 7 16:04:49 2026 \n \n",
"gstat_is_not_a_transaction_snapshot": true,
"index_presence_is_not_query_plan": true,
"physical_numbers_not_guessed_before_run": true
}
Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.