某日,参加一个面试,面试技术总监听说我搞过几年数据库,比较感兴趣,于是即时问了一个问题,关于关系数据库中千万级数据库中索引内字段数量多少与查询效率问题,提问大概是如果两个数据表各有千万条记录,25个字段,其中建立索引,一个数据表内建立的索引内包含4个字段,另外一个表内建立的索引包含3个字段,提问哪个查询效率高?我略微思考了一下,回答是索引建有4个字段的那个数据表,但是答案是错误的,对方表示应该是索引建有3个字段那个数据表;我的内心虽百般不认同,但鉴于对方权威,于是含糊过去,回家百思不得其解,网上搜索相关答案也没有准确说法, 于是,自己做了个实际测试,俗话说,实践是检验真理的唯一标准,这里只限于建立普通索引,于是乎,我准备了个两个数据表如下:
其实也就是一个数据表,我复制两份而已,接近千万级数据,并且分别在两个数据表建立索引,其中一个索引包含4个字段,一个索引包含3个字段,都是普通索引,建立索引如下:
T1数据表建立的