我正在使用MySQL数据库,并具有下表:
CREATE TABLE SomeTable (
PrimaryKeyCol BIGINT(20) NOT NULL,
A BIGINT(20) NOT NULL,
FirstX INT(11) NOT NULL,
LastX INT(11) NOT NULL,
P INT(11) NOT NULL,
Y INT(11) NOT NULL,
Z INT(11) NOT NULL,
B BIGINT(20) DEFAULT NULL,
PRIMARY KEY (PrimaryKeyCol),
UNIQUE KEY FirstLastXPriority_Index (FirstX,LastX,P)
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)
该表包含430万行,初始化后永远不会更改.
此表的重要列FirstX,LastX,Y,Z和P.
正如你所看到的,我对行的唯一索引FirstX,LastX和P.
列FirstX并LastX定义一系列整数.
我需要在此表上运行的查询为给定的X提取所有具有FirstX <= X <= LastX的行(即,其范围包含输入数X的所有行).
例如,如果表包含行(我只包含相关列):
FirstX LastX P Y …Run Code Online (Sandbox Code Playgroud)