一通骚操纵,我把SQL执行服从进步了10000000倍!
发布时间:2019-06-21 21:55:19 所属栏目:编程 来源:风过无痕
导读:场景 我用的数据库是mysql5.6,下面简朴的先容了局景 课程表: createtableCourse( c_idintPRIMARYKEY, namevarchar(10) ) 数据100条 门生表: createtableStudent( idintPRIMARYKEY, namevarchar(10) ) 数据70000条 门生后果表SC CREATEtableSC( sc_idintP
show index from SC 执行sql
SELECT s.* from Student sINNER JOIN SC scon sc.s_id = s.s_idwhere sc.c_id=81 and sc.score=84 执行时刻:0.061s,这个时刻轻微慢了点 执行打算: 这里用到了intersect并集操纵,即两个索引同时检索的功效再求并集,再看字段score和c_id的区分度, 单从一个字段看,区分度都不是很大,从SC表检索,c_id=81检索的功效是70001,score=84的功效是39425。 而c_id=81 and score=84 的功效是897,即这两个字段连系起来的区分度是较量高的,因此成立连系索引查询服从将会更高。 从其它一个角度看,该表的数据是300w,往后会更多,就索引存储而言,都是不小的数量,跟着数据量的增进,索引就不能所有加载到内存,而是要从磁盘去读取,这样索引的个数越多,读磁盘的开销就越大。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |