select cutomer_id,title,content from product_comment where audit_status=1 and product_id=1 and product_id=199726 limit 0,5 select count(DISTINCT audit_status)/COUNT(*) AS audit_rate COUNT(DISTINCT product_id)/COUNT(*) AS product_rate FROM product_com…
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息. 什么是索引 数据库索引好比是一本书前面的目录,能加快数据库的查询速度. 例如这样一个查询:select * from table1 where id=44.如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止:有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行.可见,索引是用来定位的. 第一,通过创建唯一性…
SQL 建索引的几大原则: 最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>.<.between.like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整. =和in可以乱序,比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意顺序,mysql的查询…
原文地址: Stairway to SQL Server Indexes: Level 9,Reading Query Plans 本文是SQL Server索引进阶系列(Stairway to SQL Server Indexes)的一部分. 在这个系列中,我们经常会以特定的方式执行特定的查询.我们引用生成的执行计划来支持我们的论调.SQL Server管理器显示的预估的和实际的查询计划,可以帮助我们确定索引的好处,以及其中的缺陷.因此,本文的主要目的是给你一些关于执行计划的充分的理解: 验证…
原文地址: Stairway to SQL Server Indexes: Level 5, Included Columns 本文是SQL Server索引进阶系列(Stairway to SQL Server Indexes)的一部分. 之前的文章介绍了聚集索引和非聚集索引,包含下面几条很重要的内容: 表中的每一行在索引中总是有一个入口(这条规则有一个意外,在后面的级别中我们会讲到).这些入口总是用索引键排序. 在聚集索引中,索引的入口就是表的实际行. 在非聚集索引中,入口和数据行是分开的,…
原文地址: Stairway to SQL Server Indexes: Level 4, Pages and Extents 本文是SQL Server索引进阶系列(Stairway to SQL Server Indexes)的一部分. 在之前的级别中,我们分别在有索引和没有索引的表中执行查询,比较了他们需要做的工作.我们的主要度量标准是“login read逻辑读”.我们总是比较在有索引和没有索引的表执行查询的逻辑读.现在,是时候解释为什么“逻辑读”是一个优秀的度量标准,同时也解释了实际…
原文地址: Stairway to SQL Server Indexes: Level 2, Deeper into Nonclustered Indexes 本文是SQL Server索引进阶系列(Stairway to SQL Server Indexes)的一部分. 在第一级中介绍了SQL Server中的非聚集索引.而且在第一个学习的例子中,我们证明了在从表中获取一行数据的情况下,索引带来的潜在的好处.在这一级中,我们继续介绍非聚集索引,看看他们在提升查询性能中做出的贡献. 我们先来介绍…