USE_COLUMN_TABLE hint has no effect in EXPLAIN — same plan with and without hint
07:41 28 Aug 2026

I'm on OceanBase CE 4.3.4 (5.7.25-OceanBase_CE-v4.3.4.0), MySQL mode, single-node. Same session:

DROP TABLE IF EXISTS tt_column_row;

CREATE TABLE tt_column_row (  
c1 int PRIMARY KEY,  
c2 int,  
c3 int  
) WITH COLUMN GROUP (all columns, each column);

EXPLAIN SELECT /\*+ USE_COLUMN_TABLE(tt_column_row) \*/ \* FROM tt_column_row;  
EXPLAIN SELECT /\*+ NO_USE_COLUMN_TABLE(tt_column_row) \*/ \* FROM tt_column_row;  

Both return the same operator — TABLE FULL SCAN — no COLUMN TABLE FULL SCAN either way.

SHOW CREATE TABLE tt_column_row confirms WITH COLUMN GROUP(all columns, each column). Client is default mysql CLI on Linux (no extra flags).

What confused me: per the column-store hint docs, USE_COLUMN_TABLE vs NO_USE_COLUMN_TABLE should pick column vs row storage, but EXPLAIN is identical. I also tried SELECT c1 only — same result.

Question: Is this an optimizer limitation on this table/hint combination, or is something preventing the hints from reaching the server?

sql optimizer-hints oceanbase