通俗的解释什么是复合索引和最左原则 |
您所在的位置:网站首页 › 若无则不原则什么意思呀解释 › 通俗的解释什么是复合索引和最左原则 |
1.什么是复合索引?
顾名思义,复合索引的意识就是,将数据库中的多个字段组合起来形成的一个索引就是复合索引。创建复合索引的方式如下图所示: (1)使用Navicat创建 最左原则说是,在SQL语句中,复合索引的第一个字段必须出现查询语句中,这样索引才能够被使用。 (1)比如下面的查询语句,就会使用到复合索引: select * from book where book.bid='1'我们使用explain关键字来查看一下: explain select * from book where book.bid='1'
好,如果你也有这样的疑问,说明你是个爱动脑筋、爱思考的小朋友。我们接着往下走。 索引,其实就是相当于一本厚厚字典的目录,如果你想要找到一个字,在没有目录的情况下你需要手动的从第一页开始找直到找到那个字为止(当然这里只是举这个例子,有些人查字典真的不用目录的~)如果有了目录的话我们可以从目录中轻松的把我们想要找的字找出来 这和复合索引有什么关系呢?比如来说你需要查“胡”这个字,他的部首是“月”,我们去部首检字表中找到“月”,然后我们数“古”有5画,最后,我们就成功的在“月”所在的部首检字表中,找到了“胡”字所在的页。 复合索引的道理和上面的例子是一样的,“胡”字的部首“月”相当于复合索引中的第一个字段“bid”,然后“古”字有几画就相当于复合索引中的第二个字段“bnumber”,在查找的过程中我们是通过部首定位到部首检字表,再通过“古”字有5画从部首检字表定位到具体的字。如果我们连“胡”字的部首都不知道,那么我们如何找到部首检字表所在的位置呢?,所以这就是为什么复合索引的除第一个字段以外的其它字段进行查询的时候,不会走索引的原因。这就是最左原则。 3.使用复合索引的目的? 能够形成索引覆盖,提高where查询的效率 4. 复合索引的列越多越好吗? 索引并不是越多越好,恰恰相反,因为在新增数据时,会更新索引影响写入的效率。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |