先发表结构吧 : CREATE TABLE tbl-game-4d3d2d-txptest4d-final
(
4d3d2d_id
bigint(20) NOT NULL AUTO_INCREMENT,
4d3d2d_inv_no
varchar(15) COLLATE utf8mb4_unicode_ci DEFAULT ‘0’,
4d3d2d_member_id
int(11) DEFAULT NULL,
4d3d2d_member_username
varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4d3d2d_produk_id
int(11) DEFAULT ‘0’,
4d3d2d_produk_code
varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
4d3d2d_produk_name
varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4d3d2d_periode_id
int(11) DEFAULT NULL,
4d3d2d_periode_name
varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL,
4d3d2d_game
varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4d3d2d_mode
varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT ‘diskon’,
4d3d2d_tebakan
varchar(5) DEFAULT NULL,
4d3d2d_4d
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_3d
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_2d
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_disc_4d
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_disc_3d
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_disc_2d
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_disc
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_bayar
decimal(14,2) DEFAULT ‘0.00’,
reg_date
timestamp DEFAULT CURRENT_TIMESTAMP,
deleted_at
timestamp NULL DEFAULT NULL,
4d3d2d_tebakan_win
varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
4d3d2d_4d_prize
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_3d_prize
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_2d_prize
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_prize
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_winloss_status_4D
varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT ‘none’,
4d3d2d_winloss_amount_4D
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_winloss_status_3D
varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT ‘none’,
4d3d2d_winloss_amount_3D
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_winloss_status_2D
varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT ‘none’,
4d3d2d_winloss_amount_2D
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_winloss_status
varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT ‘none’,
4d3d2d_winloss_amount
decimal(14,2) DEFAULT ‘0.00’,
4d3d2d_check_code
varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT ‘0’,
referral_bonus
decimal(5,2) DEFAULT NULL,
agent_name
varchar(50) DEFAULT NULL,
four_game_mode
varchar(40) DEFAULT NULL,
bet_result_json
json DEFAULT NULL,
referral_odds
decimal(14,2) DEFAULT NULL COMMENT ‘转介’,
4d3d2d_pre_payout
decimal(14,2) DEFAULT NULL COMMENT ‘预计派彩额’,
PRIMARY KEY (4d3d2d_id
,4d3d2d_produk_code
,4d3d2d_periode_name
) /*T![clustered_index] CLUSTERED */,
KEY reg_date_idx
(reg_date
),
KEY 4d3d2d_tebakan_idx
(4d3d2d_tebakan
),
KEY final_query_4d3d2d_periode_name
(4d3d2d_periode_name
),
KEY agent_name_idx
(agent_name
),
KEY game_idx
(4d3d2d_game
),
KEY bet_query_idx
(4d3d2d_produk_code
,4d3d2d_game
,agent_name
,4d3d2d_mode
,4d3d2d_tebakan
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=108344209
PARTITION BY LIST COLUMNS(4d3d2d_periode_name
)
(PARTITION pGame1
VALUES IN (1),
PARTITION pGame2
VALUES IN (2),
PARTITION pGame3
VALUES IN (3),
PARTITION pGame4
VALUES IN (4),
PARTITION pGame5
VALUES IN (5),…以下省略1000个分区
我的查询sql 的执行计划 :
EXPLAIN SELECT * FROM tbl-game-4d3d2d-TXPTEST4D-final
WHERE
4d3d2d_produk_code=‘TXPTEST4D’
and
4d3d2d_periode_name=‘34’
and 4d3d2d_game = ‘4D’
AND agent_name IN
('ID000022','ID000023','ID000024')
and (4d3d2d_mode ='Full' or 4d3d2d_mode='Diskon')
AND 4d3d2d_tebakan='1234'
我期望是 走bet_query_idx这个索引 但是 告诉我是都 失效了