(资料图)
一、索引的概念及技巧
举例,业务场景,用户表,表结构为:t_user(uid primary key,login_name unique,passwd,login_time,age,…);
1.聚合索引
聚集索引(clustered index):聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索引,一般用primary key来约束。举例:t_user场景中,uid上的索引。
2.非聚集索引
非聚集索引(non-clustered index):它并不决定数据在磁盘上的物理排序,索引上只包含被建立索引的数据,以及一个行定位符row-locator,这个行定位符,可以理解为一个聚集索引物理排序的指针,通过这个指针,可以找到行数据。 举例,查找年轻MM的业务需求:select uid from t_user where age > 18 and age < 26;age上建立的索引,就是非聚集索引。
3.联合索引
联合索引:多个字段上建立的索引,能够加速复核查询条件的检索举例,登录业务需求:select uid, login_time from t_user where login_name=? and passwd=?可以建立(login_name, passwd)的联合索引。联合索引能够满足最左侧查询需求,例如(a, b, c)三列的联合索引,能够加速a | (a, b) | (a, b, c)
提问:
select uid, login_time from t_user wherepasswd=? and login_name=?能否命中(login_name, passwd)这个联合索引?回答:可以,最左侧查询需求,并不是指SQL语句的写法必须满足索引的顺序(这是很多朋友的误解)索引覆盖:被查询的列,数据能从索引中取得,而不用通过行定位符row-locator再到row上获取,即“被查询列要被所建的索引覆盖”,这能够加速查询速度。举例,登录业务需求:select uid, login_time from t_user wherelogin_name=? and passwd=?可以建立(login_name, passwd, login_time)的联合索引,由于login_time已经建立在索引中了,被查询的uid和login_time就不用去row上获取数据了,从而加速查询。末了多说一句,登录这个业务场景,login_name具备唯一性,建这个单列索引就好。
1月份,乌鲁木齐局集团公司运输煤炭122661万吨,其中疆煤外运48261万吨,同比分别增长195%、395%。 乌鲁木齐局集团公司建立健全两级保更多
2023-02-16 10:02:01近日,记者从人民银行贵阳中心支行2023年一季度新闻通气会上获悉,截至2022年末,贵州对碳减排、煤炭清洁利用、交通物流、科技创新、设备更多
2023-02-16 09:54:3631个省区市2023年政府工作报告近期陆续出炉,均为能源产业转型发展绘出了新路线图。记者梳理发现,传统能源大省积极转型的同时加强保供,更多
2023-02-16 09:54:16当前国际能源供需形势严峻复杂,能源供应持续紧张、价格大幅波动,我国经济深度融入世界经济,国内能源供应必然受到国际能源供需变化和价更多
2023-02-16 10:09:29据CCTD了解,近期煤炭市场价格持续走跌,5000K报价一度跌破800元吨,不仅远低于铁路发运到港成本,且较进口煤的价差也在快速收窄。 进更多
2023-02-16 09:59:02记者从山西省发改委获悉,2022年,山西省用电量平稳增长,全省全社会用电量27208亿千瓦时,比上年增长43%。 分产业看,2022年,第一产更多
2023-02-16 08:59:141月,国家能源集团新疆能源有限责任公司生产煤炭740万吨,超计划20万吨,同比增长156%;自产煤销量736万吨,超计划16万吨,同比增长155%。更多
2023-02-16 09:06:18记者从国家矿山安监局山西局近日召开的2023年工作会议上了解到,今年山西增产保供压力持续加大及各种风险叠加,全省矿山安监系统将紧紧围更多
2023-02-16 09:16:27国家统计局2月14日公布的数据显示,2月上旬全国煤炭价格全面下跌。各煤种具体价格变化情况如下: 无烟煤(洗中块,挥发份≤8%)价格1更多
2023-02-15 10:05:212022年,在多方面因素的综合作用下,国际市场煤炭需求旺盛,各大关键煤炭价格指数一度达到近年来的最高点。业内人士与专业机构预测,与石更多
2023-02-15 10:00:10