数据库系统学习(九)-索引

1.索引的使用

--创建表
create table T_User
(
    Id int primary key identity(1,1),
    UNo nvarchar(10),
    UName nvarchar(10),
    UAge int
)
--创建索引(给字段UName建索引)
create index idx_user_name on T_User(UName)
--删除索引
drop index idx_user_name on T_User
 
2.什么是索引
  
索引(Index)是帮助MSSQL高效获取数据的数据结构
 
3.为什么使用索引
 
 a.索引的唯一性,可以保证每一行数据的唯一性
 b.大大加快数据的检索速度放到
 c.加速表和表之间的连接
 
4.索引的缺点
 
 a.创建索引和维护索引都要耗费时间
 b.每一个索引都要占一定物理空间
 c.对表中数据的增,删,改操作,索引页要动态的维护,减低了数据维护速度
 
4.哪些列可以使用
 
 a.经常需要搜索的列,像一些外键
 b.主键列上,强制该列的唯一性
 c.经常使用where子句中的列,因为索引已排序
 
5.哪些列不建议使用
  
 a.查询中很少使用的列
 b.只有少数数据的列
 c.数据类型为text,image,bit的列,因为数据量较大
 d.当修改性能大于索引性能时
 
时间: 2024-10-15 03:32:26

数据库系统学习(九)-索引的相关文章

Oracle学习(九):创建和管理表

1.知识点:可以对照下面的录屏进行阅读 SQL> --创建表 SQL> create table test1 2 (tid number, 3 tname varchar2(20), 4 hidatedate date default sysdate); SQL> --使用as和子查询快速建表 SQL> --创建表:包含员工号 姓名 月薪 年薪 部门名称 SQL> create table empincome 2 as 3 select empno,ename,sal,sal

c#学习7.索引

using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace 索引{class Program { static void Main(string[] args) { int[] values = { 3, 5, 9, 8 }; int i = values[1]; string s = "sss"; s[0] = "a"; person p1

docker~学习笔记索引

使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017-04-07 22:47) docker~docker-machine的介绍(2017-04-12 12:02) docker~使用阿里加速器安centos(2017-04-13 10:16) docker~大叔对术语的解释(2017-06-18 19:19) docker~Dockerfile优化程序的部署(2017-

lucene学习-创建索引

本文的lucene是基于lucene3.5版本. 使用lucene实现搜索引擎开发,核心的部分是建立索引和搜索.本节主要是记录创建索引部分的内容. 创建的索引结构如图所示. 创建索引的步骤分为以下几个步骤: 1.建立索引器IndexWriter 2.创建文档对象Document 3.建立信息对象字段Field 4.将Field对象添加到Document 5.将Document对象添加到IndexWriter对象中 下面简要介绍几个核心对象. (1).创建IndexWriter对象. IndexW

mongodb学习(六)索引

准备工作: 先插入100万条数据 for(i=0;i<=1000000;i++){ db.users.insert({ "i":i, "username":"user"+i, "age":Math.floor(Math.random()*120), "created":new Date() }) } 1. 创建索引: 数据量越大创建索引时间越长 db.users.ensureIndex({"

Mysql学习笔记(九)索引查询优化

PS:上网再次看了一下数据库关于索引的一些细节...感觉自己学的东西有点少...又再次的啃了啃索引.... 学习内容: 索引查询优化... 上一章说道的索引还不是特别的详细,再补充一些具体的细节... 1.B-Tree索引... B-tree结构被称为平衡多路查找树...其数据结构为:   这就是其数据结构图...我们没必要完全的理解其中的原理..并且我也不会做过多的原理介绍...我们只需要知道数据库是以这种方式进行存储数据的就可以了... mysql> create table title -

数据库系统学习与基础夯实——基础知识(二)

数据库体系结构 知己知彼,了解了数据库的整个结构组成,可以帮助我们学习再进一步. 如今我们使用的主流数据库系统(如MSSQLSERVER),基本为ANSI/SPARC体系及结构:包括内模式,概念模式和外模式三层. 内模式——存储模式,数据的物理存储方式: 外模式——用户模式,用户实际能看到的数据视图: 概念模式——公共逻辑模式,其介前两个模式中间的一层. 从上图,还可以看出,对于外模式(至于单一用户)一般会有多个,而他们对应的只有一个“概念视图”(概念模式),可以类比一个 公司数据库可以对应起多

数据库系统学习一

学习书<数据库系统教程>第三版 作者:施伯乐 1.什么是索引? a.在关系数据库中,索引是一种与表有关的数据库结构,他可以使对应的表的SQL语句执行更快.索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容.当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作:第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索

深度学习算法索引(持续更新)

https://zhuanlan.zhihu.com/p/26004118 机器学习最近几年发展如同野兽出笼,网上的资料铺天盖地.学习之余建立一个索引,把最有潜力(不求最全)的机器学习算法.最好的教程.贴近工业界最前沿的开源代码收录其中.个人能力有限,希望知友指正和补充. Model篇 1. Reinforcement Learning 领军人物:david silver 教程 2015年david silver的UCL Course on RL:Teaching david silver的Tu