`
elisonwell
  • 浏览: 8715 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

索引的一些思考

阅读更多
一、索引是什么?
答:索引是一种数据结构,它和表中的列有对应关系,索引是有序的,但数据的物理排序不一定是按照索引的顺序排列的。如果是按照索引排序的,则称为聚集索引;如果不是,则称之为非聚集索引。由于聚集索引会影响到数据的物理排序,所以每个表只能有一个聚集索引,但可以有多个非聚集索引。
例子解释:
1、create table t_student(
code varchar(20),
name varchar(10)
)
create clustered index index_t_student on t_student(name)
该表数据行会按name的顺序排序

2、create table t_student(
code varchar(20),
name varchar(10)
)
create clustered index index_t_student on t_student(code)
该表数据行会按code的顺序排序

3、create table t_student(
code varchar(20),
name varchar(10)
)
create index index_t_student on t_student(name)
该表数据行并不会按name的顺序排序


二、为什么要建索引?
索引就像字典中的目录一样,目录是有顺序的,因此索引也是有顺序的。通过目录很快的定位到要查找的字的位置。因为索引的有序性,使得查找索引是很快的,从而加快查找索引对应的数据。

三、什么情况下适合建索引
1、建聚集索引
  1)表的查询频率远远大于更新频率
  2)字段值唯一或重复值很少
  3)经常用作为查询条件的字段,比如字段用在算符:">"、"<"、"="、"in"两边的字段
     ,但对于"like"不一定适合建立索引。
  4)经常用作表连接的字段
  5)经常用作排序、分组的字段

2、建非聚集索引
  基本上和聚集索引相同,对于范围查找的字段,使用聚集索引要更快于非聚集索引
  如:select * from t where a>1 则应该对a建聚集索引。

ps:
1、查看索引的存储过程:exec sp_helpindex 表

2、向sqlserver插入200000条数据:
无索引:1m26s
有索引:2m07s

查询 select * from t_organization where code=29567:
无索引:1s
有索引:0.000..s
分享到:
评论

相关推荐

    索引思考1

    在数据库管理中,索引是提高查询性能的关键工具。索引的作用类似于书籍的目录,能够帮助数据库快速定位到所需的数据,从而减少数据检索的时间。以下将根据提供的标题、描述和部分内容,详细阐述不同情况下的索引优化...

    四川大学习概课所有课上思考题汇总+易考题索引

    四川大学习概课所有课上思考题汇总+易考题索引 所有的题目答案都是课上笔记、《学习纲要》以及《中国智慧》三方面参考得到的,可确保万无一失。 《学习纲要》《中国智慧》的索引都是强调的知识点,值得考前过一遍

    西门子触摸屏HMI变量的指针化索引应用示例详解(多台电机).docx

    #### 五、扩展思考 除了上述示例中提到的应用场景外,指针化索引还可以应用于其他多种场合,例如: - **设备状态监控**:对于多台设备的状态监控,可以使用相同的原理来简化显示。 - **生产数据记录**:在生产线上...

    基于持久化内存的索引设计重新思考与优化.docx

    NVM的出现为构建高效持久化的索引提供了新的解决方案。过去,由于缺乏实际的硬件支持,许多研究主要依赖于模拟环境进行。然而,2019年英特尔发布的3D-XPoint技术的非易失性内存产品Apache Pass(AEP),为真实硬件...

    mysql索引资料学习

    本篇将深入探讨MySQL中的索引机制,特别是B+树索引,以及InnoDB存储引擎中的一些特性。 一、没有索引时如何查找数据 1. 方案1:在一个页中查找 当数据量较小,全部存放在一个页中时,可以通过二分法在页目录中...

    百度林仕鼎:架构设计的一些思考

    - **索引结构**:使用何种数据结构(如B+树)来加速查询过程。B+树适用于范围查询和顺序访问,而日志结构更适合追加操作。 - **实时性与一致性**:系统需要在实时性和一致性之间找到合适的平衡点。这通常涉及到...

    管理索引PPT学习教案.pptx

    《管理索引——数据库高效检索的关键》 ...然而,建立和管理索引需要策略性的思考,以平衡性能和存储成本。理解索引的工作原理和选择合适的索引类型,是每一个数据库管理员和IT专业人员必备的技能。

    实验五索引和大数据完整性.doc

    【实验五:索引和大数据完整性】 ...同时,通过思考和练习部分,深化对索引操作和约束管理的理解。在实际工作中,合理运用这些知识能够优化数据库性能,防止数据错误,确保数据的可靠性和系统稳定性。

    SQLServer实用教程(第三版)实验6索引和数据完整性的使用[总结].pdf

    本资源摘要信息总结了 SQL Server 实用教程(第三版)实验 6 中的索引和数据完整性的使用相关知识点,并为读者提供了详细的实验步骤和思考与练习题,旨在帮助读者深入了解索引和数据完整性的使用方法和应用场景。

    索引和数据完整性的使用 SQL Server实用教程(一个完整的试验报告,有截图,也有程序语言,挺不错的!)

    **三、操作实践与思考** 1. 当表数据量大时,建立索引可以显著减少查询时间,提高查询速度。 2. 删除已创建的默认值对象和规则对象: ```sql use xscj; if exists (select name from sysobjects where name='...

    3GPP有关LTE09年目录索引

    3GPP(Third Generation Partnership Project)是一个全球性的标准组织,负责制定...通过查阅这些会议记录,可以洞察当年业界对LTE技术的思考、挑战和解决方案,这对于当前的5G甚至未来的6G研究也有一定的参考价值。

    05深入浅出索引(下).pptx

    最后,我们面对一个思考题,涉及表`geek`的索引设计。表`geek`有四个字段`a`、`b`、`c`、`d`,主键为`(a, b)`,还有两个额外的索引`c`和`(c, a)`。对于`SELECT * FROM geek WHERE c=N ORDER BY a LIMIT 1`和`SELECT ...

    大学物理实验思考题答案

    这173页的目录单可能详细列出了各类实验资料的名称、作者、来源以及简要介绍,是学生查找和学习物理实验知识的宝贵索引。 其次,"大学物理实验思考题答案"这部分内容是学生在完成实验报告时的重要参考。思考题通常...

    SQLServer实用教程(第三版)实验6索引和数据完整性的使用[收集].pdf

    【SQLServer实用教程(第三版)实验6】主要讲解了两个关键概念:索引和数据完整性,以及如何在SQL Server中操作它们。...此外,实验中的思考与练习部分有助于巩固这些知识,通过实际操作进一步提高技能。

    ThemeLove#gitbook_python#04-MySQL索引1

    1. 思考 2. 解决办法 3. 索引是什么 4. 索引目的 5. 索引原理 6. 索引的使用 8.注意:

    韩礼德文章索引.pdf

    此索引还包括了韩礼德早期对机器翻译研究的贡献,如1956年的《The linguistic basis of a mechanical thesaurus, and its application to English preposition classification》,以及1962年的《Linguistics and ...

    托马斯大学微积分--习题解答&索引.rar

    习题解答的重要性在于它不仅提供了标准答案,还揭示了如何从数学问题中抽丝剥茧,找到关键的分析点,这对于培养独立思考和解决实际问题的能力至关重要。 接下来是“索引.pdf”。索引是一个有序的参考工具,为学习者...

    c语言思考题(你能看懂吗)

    学习者需要熟悉如何声明、初始化和访问数组元素,理解数组索引从0开始的原则,以及如何处理数组边界问题。二维数组常用于表示表格或矩阵,学习者应该学会如何遍历和操作二维数组。 最后,第七章的“函数思考题(10...

    视图、索引、存储过程和触发器的使用.doc

    实验还包含了若干思考与练习题目,以加深对各个概念的理解和应用能力。 在实践中,掌握视图可以帮助简化复杂的查询逻辑,提高数据安全性;理解索引能优化查询性能;熟练使用存储过程可以提高代码复用性和执行效率;...

Global site tag (gtag.js) - Google Analytics