All Products
Search
Document Center

PolarDB:In-Memory Column Index (IMCI) performance

Last Updated:Mar 28, 2026

This page covers the online analytical processing (OLAP) performance of PolarDB for MySQL 8.0.1 Cluster Edition with the In-Memory Column Index (IMCI) feature enabled. Results are measured using the TPC-H benchmark at three dataset scales: 100 GB, 1 TB, and 3 TB.

IMCI overview

PolarDB for MySQL uses IMCI to accelerate complex queries on large datasets in OLAP scenarios. IMCI enables a unified hybrid transaction/analytical processing (HTAP) solution for both real-time transaction processing and data analytics within the same cluster.

The following figure shows the IMCI architecture in PolarDB for MySQL.HTAP

For an architectural overview, see In-Memory Column Index.

Usage notes

Performance tests

All tests run the 22 TPC-H queries (Q1–Q22) against a column store with IMCI enabled, unless otherwise noted.

TPC-H 100 GB

Test environment 1: 32-core 256 GB nodes

This test compares query performance between the column store (IMCI enabled) and the row store (IMCI disabled) on a 100 GB TPC-H dataset. It also shows how query time scales as you add column store nodes.

The times shown are not from the first run.

SQL queryRow store — IMCI disabled (1 node, seconds)IMCI enabled (1 node, seconds)IMCI enabled (2 nodes, seconds)IMCI enabled (3 nodes, seconds)IMCI enabled (4 nodes, seconds)Acceleration ratio (column vs. row)Multi-node scale factor
Q12495.051.8460.9860.8360.6421351.600.72
Q213.180.1910.1460.1420.11769.010.41
Q3345.560.4820.2920.1920.165716.930.73
Q463.780.3640.1630.1410.098175.220.93
Q5251.480.4750.3830.2560.227529.430.52
Q6241.70.2090.1230.1150.0971156.460.54
Q7174.910.5130.3560.2320.195340.960.66
Q8560.820.4540.2790.2340.1961235.290.58
Q9450.681.8750.9140.7080.542240.360.86
Q10895.751.3610.6840.710.488658.160.70
Q1130.030.190.1480.1190.105158.050.45
Q12266.140.6260.3880.2650.206425.140.76
Q13780.741.5051.0220.9350.616518.760.61
Q1472.040.3070.2630.1650.135234.660.57
Q15261.770.4280.3630.320.275611.610.39
Q1640.690.5690.3840.3120.24971.5110.57
Q1757.750.5441.3881.1951.054106.160.13
Q18257.661.430.9550.6490.499180.180.72
Q1919.171.0760.5810.530.40517.8160.66
Q20143.970.3720.370.320.282387.020.33
Q21293.991.1420.560.4630.356257.430.80
Q2218.810.3520.3820.3580.30653.440.29
Total7735.6716.31111.139.1977.255474.260.56

The following figure compares query times before and after IMCI is enabled.image

The following figure compares query times across multiple nodes after IMCI is enabled.image

Test environment 2: 8-core 32 GB nodes

This test measures column store query performance with IMCI enabled on a 100 GB TPC-H dataset across four 8-core 32 GB nodes.

SQL queryQuery time (seconds)
Q13.014
Q20.239
Q30.605
Q40.316
Q50.636
Q60.326
Q70.66
Q80.596
Q92.464
Q101.715
Q110.257
Q120.895
Q132.516
Q140.39
Q150.736
Q160.69
Q172.689
Q183.395
Q191.521
Q200.811
Q211.335
Q220.747
Total26.553

TPC-H 1 TB

Test environment 1: 32-core 256 GB nodes

This test measures column store query performance with IMCI enabled on a 1 TB TPC-H dataset. It shows how query time changes as you scale from one to four 32-core 256 GB nodes.

The times shown are not from the first run.

SQL query1 node (seconds)2 nodes (seconds)3 nodes (seconds)4 nodes (seconds)Multi-node scale factor
Q137.88725.4958.1896.0611.56
Q21.3570.7250.5670.4160.82
Q320.37911.4781.7842.6531.92
Q413.7661.5421.380.7414.64
Q519.3174.0032.2681.692.86
Q613.4966.3722.3590.5915.71
Q723.38810.5232.0681.5953.67
Q821.44310.821.5931.1434.69
Q953.66528.06110.76118.6610.72
Q1034.70811.24310.0544.7281.84
Q111.5430.8660.7950.6280.61
Q1226.28413.1787.5951.8293.59
Q1325.98612.94210.8486.6390.98
Q1416.7458.6413.0231.0284.07
Q1528.1473.2012.2861.8533.80
Q165.7033.7882.2531.7670.81
Q1722.43314.71511.65110.1310.55
Q1889.75141.76625.61218.3651.22
Q1936.41420.4111.5578.7521.04
Q2016.3533.442.7392.4291.68
Q2143.9456.7684.823.2993.33
Q223.4753.7753.1412.6370.33
Total556.185243.752127.34397.6361.42

The following figure compares query times across node configurations.image

Test environment 2: 8-core 32 GB nodes

This test measures column store query performance with IMCI enabled on a 1 TB TPC-H dataset across four 8-core 32 GB nodes.

SQL queryQuery time (seconds)
Q155.545
Q21.386
Q331.712
Q416.113
Q530.062
Q623.215
Q730.432
Q832.907
Q9104.637
Q1044.04
Q112.139
Q1228.469
Q1335.825
Q1421.549
Q1542.483
Q167.906
Q1752.072
Q1864.924
Q1948.368
Q2026.958
Q2155.754
Q228.436
Total764.932

TPC-H 3 TB

Test environment: 32-core 256 GB nodes

This test measures column store query performance with IMCI enabled on a 3 TB TPC-H dataset. It shows how query time scales as you add nodes, from two up to twelve 32-core 256 GB nodes.

SQL query2 nodes (seconds)4 nodes (seconds)6 nodes (seconds)8 nodes (seconds)12 nodes (seconds)
Q1207.5972114.106173.4703857.1645915.99434
Q216.597639.1264496.5317645.2566798.056107
Q3129.012770.0558750.7596220.7751315.96027
Q487.8867848.2354711.220439.065776.153393
Q5145.366980.9093755.3541120.838716.81331
Q664.7727833.612843.6265433.11642.393298
Q7158.33282.2174857.40219.2808914.15242
Q8171.715289.1818461.0793147.2176211.49657
Q9695.1544291.9174190.4007143.224170.81171
Q10318.9998260.2054263.955209.1835207.9049
Q1126.0494920.918518.3289817.6975916.45135
Q12120.313762.7725842.2016611.088247.982793
Q13388.5152320.5632151.070190.6854596.00401
Q1493.118958.596122.6804521.1422519.99422
Q15150.947579.8181618.3274416.2633611.92104
Q1672.2608936.4625124.7048118.4576712.8234
Q17233.1315196.8246112.588113.5308109.7312
Q181163.623537.1255305.1325237.862269.33614
Q19152.074981.2567154.0655241.5412526.91918
Q20118.889977.2857655.6825630.7634930.0725
Q21336.2304177.231152.5016441.7325829.24006
Q2252.3881950.8757640.9928237.7108137.43663
Total4902.979282779.298791672.076381213.59912837.648829

The following figure compares query times across node configurations.image