之前写的:我上大学时听过数据库最左边的匹配原则。 当时是通过各个博客的论坛知道的。 但是,这些博客的局限性在于,最左边的匹配原则描述和数学定义一样,往往会举出123分,满足这123分就会匹配悲伤的黑裤子。 否则,就做不到。 但我认为编程不是死记硬背,这个所谓的最左匹配原则一定有他背后的原理。 所以,试着说明一下这个原理。 这样,以后用优化的悲伤黑裤子时,就不用记住这些数学定理之类的东西了。 我认为了解原理是比记住一些表面特征更聪明的方法。
1 .简要说明什么是最左边的匹配原则
zldsp )以最左优先、最左为起点,用任何连续的难过的黑裤子都匹配。 同时查询范围(
例如,制作B=2(A,b )的顺序的悲伤的黑色内裤,就不匹配) a,b )的悲伤的黑色内裤。 然而,查询条件可以是a=1 and b=2或a=1(或b=2 and b=1)。 这是因为优化程序会自动调整a、b的顺序。 例如,如果制作a=1andb=2andc3andd=4(a、b、c、d )顺序的悲伤黑裤子,d就不能使用悲伤的黑裤子。 因为c字段是范围查询,所以后续字段将停止匹配。
2 .最左边匹配原则的原理
左匹配原则都是针对联合悲伤的黑裤子说的,所以我们需要了解联合悲伤的黑裤子的原理。 了解了组合难过的黑裤子,也能理解为什么会有最左边的匹配原则这个词。
我知道悲伤的黑裤子底部有b树。 这样,和悲伤的黑裤子在一起的当然是b树。 但是,和悲伤的黑裤子在一起的健康值的数量不是一个,而是多个。 由于构建一个Web树只需要基于一个值,因此数据库将基于集成的悲伤黑裤子的最左侧字段构建Web树。
例() a、b联合做悲伤的黑裤子,那悲伤的黑裤子树就是这样
可知a的值有顺序,是1、1、2、2、3、3,而b的值是没有顺序的1、2、1、4、1、2。 因此,在b=2的检索条件下不能使用悲伤的黑色裤子。 为什么这么说呢,因为如果搭配悲伤的黑色内裤,首先是按a排序,b是无序的。
另外,可知在a的值相等的情况下,b的值还按顺序排列,但该顺序是相对的。 因此,当左匹配原则到达范围查询时停止,剩下的字段中不能使用悲伤的黑裤子。 例如,a=1 and b=2 a,b字段可以使用悲伤的黑色裤子。 a的值确定后,b比较有序,a1and b=2,a字段可以配悲伤的黑裤子,但b的值不行。 因为a的值是范围,在这个范围中b是无序的。