You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
那么基本可以得出结果,理想状态下
select event_date from user_data where userid=x,select * from user_data where userid=x 命中userid_event_date_index联合索引,此时不用回表。
select userid from user_data where userid=x order by event_date desc 命中userid_event_date_index联合索引,由于联合索引的排序。
select userid from user_data_test where userid>1 and userid<3命中userid_index。
select event_date from user_data where event_date=y无法命中索引。
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
问题围绕下面历史记录表结构展开
CREATE TABLE user_data (
userid INT,
event_date DATE,
KEY userid_index (userid),
KEY userid_event_date_index (userid, event_date)
);
概览表结构
写入分析
综上,在此处的场景中,只声明了两个普通索引。在保证写入性能的条件下,同时可以保证读性能。
查询分析
那么基本可以得出结果,理想状态下
select event_date from user_data where userid=x,select * from user_data where userid=x 命中userid_event_date_index联合索引,此时不用回表。
select userid from user_data where userid=x order by event_date desc 命中userid_event_date_index联合索引,由于联合索引的排序。
select userid from user_data_test where userid>1 and userid<3命中userid_index。
select event_date from user_data where event_date=y无法命中索引。
Beta Was this translation helpful? Give feedback.
All reactions