sql server 怎么建立索引

sql server 怎么建立索引,第1张

创建索引

(1)在SQL Server Management Studio中,选择并右击要创建索引的表,从d出菜单中选择“设计”,打开表设计器。右键单击表设计器,从d出菜单中选择“索引/键”命令,打开“索引/键”对话框。对话框中列出了已经存在的索引,如下图所示。

(2)单击“添加”按钮。在“选定的主/唯一键或索引”框显示系统分配给新索引的名称。

(3)在“列”属性下选择要创建索引的列。可以选择多达16列。为获得最佳性能,最好只选择一列或两列。对所选的每一列,可指出索引是按升序还是降序组织列值。

(4)如果要创建唯一索引,则在“是唯一的”属性中选择“是”。

(5)设置完成后,单击“确定”按钮。

(6)当保存表时,索引即创建在数据库中。

使用CREATE INDEX语句创建索引:

复制内容到剪贴板

代码:

CREATE[ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX索引名

ON {表名|视图名} (列名[ ASC | DESC ] [ ,n ] )

例:

在数据库HrSystem中为表Employees创建基于IDCard列的唯一索引IX_Employees,可以使用以下命令:

复制内容到剪贴板

代码:

USE HrSystem

GO

CREATE UNIQUE NONCLUSTERED INDEX [IX_Employees]ONdboEmployees(IdCard)

GO

例:

为表Employees创建基于列IDCard的唯一、聚集索引IX_Employees1,可以使用以下命令:

复制内容到剪贴板

代码:

USE HrSystem

GO

CREATE UNIQUE CLUSTERED INDEX [IX_Employees1] ON [dbo][Employees](IdCard)

GO

需要注意的是,在一个表中只允许存在一个聚集索引。因此,如果表Employees中已经存在一个聚集索引,则执行上面的语句时将会提示下面的错误信息。

消息1902,级别16,状态3,第1行

无法对表'dboEmployees'创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引'PK__Employee__263E2DD300551192'。 例:

对表Employees的列Emp_name按照降序创建索引,可以使用以下命令:

复制内容到剪贴板

代码:

USE HrSystem

GO

CREATENONCLUSTERED INDEX [IX_Employees2] ON [dbo][Employees]

(

[Emp_name] DESC

)

GO

在CREATE INDEX语句中使用INCLUDE子句,可以在创建索引时定义包含的非键列,其语法结构如下:

复制内容到剪贴板

代码:

CREATENONCLUSTERED INDEX 索引名

ON { 表名| 视图名 } ( 列名 [ ASC | DESC ] [ ,n ] )

INCLUDE (<列名1>, <列名2>, [,… n])

例: 在表Employees上创建非聚集索引IX_Wage,索引中的键列为Wage,非键列为Emp_name、Sex和Title,具体语句如下:

复制内容到剪贴板

代码:

USEHrSystem

GO

CREATENONCLUSTERED INDEX IX_Wage

ON Employees ( Wage )

INCLUDE (Emp_name, Sex, Title)

GO

例: 在创建索引IX_Wage后,当表Employees中的数据量比较大时,执行下面的SELECT语句将会明显地改进查询效率。

复制内容到剪贴板

代码:

USEHrSystem

GO

SELECTEmp_name, Sex, Title, Wage

FROMEmployees

WHEREWage BETWEEN 1000 AND 3000

GO

普通索引 添加INDEX

ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

下面演示下给user表的name字段添加一个索引

mysql数据库如何创建索引

mysql数据库如何创建索引

主键索引 添加PRIMARY KEY

ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

mysql数据库如何创建索引

mysql数据库如何创建索引

唯一索引 添加UNIQUE

ALTER TABLE `table_name` ADD UNIQUE ( `column` )

mysql数据库如何创建索引

全文索引 添加FULLTEXT

ALTER TABLE `table_name` ADD FULLTEXT ( `column`)

mysql数据库如何创建索引

如何添加多列索引

ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

mysql数据库如何创建索引

建立数据库的目的是管理大量数据,而建立索引的目的就是提高数据检索效率,改善数据库工作性能,提高数据访问速度。当查询大量数据时不建索引带条件的查询会很慢的,索引的创建不同的数据库有不同的写法,oracle的写法是create index 索引名 on 表名();

在select 语句中的where条件每个字段都要建索引

索引原理

索引的基本概念索引是一种特殊类型的数据库对象,它与表有着密切的联系。索引是为检索而存在的。如一些书籍的末尾就专门附有索引,指明了某个关键字在正文中的出现的页码位置,方便我们查找,但大多数的书籍只有目录,目录不是索引,只是书中内容的排序,并不提供真正的检索功能。可见建立索引要单独占用空间;索引也并不是必须要建立的,它们只是为更好、更快的检索和定位关键字而存在。再进一步说,我们要在图书馆中查阅图书,该怎么办呢?图书馆的前台有很多叫做索引卡片柜的小柜子,里面分了若干的类别供我们检索图书,比如你可以用书名的笔画顺序或者拼音顺序作为查找的依据,你还可以从作者名的笔画顺序或拼音顺序去查询想要的图书,反正有许多检索方式,但有一点很明白,书库中的书并没有按照这些卡片柜中的顺序排列——虽然理论上可以这样做,事实上,所有图书的脊背上都人工的粘贴了一个特定的编号①,它们是以这个顺序在排列。索引卡片中并没有指明这本书摆放在书库中的第几个书架的第几本,仅仅指明了这个特定的编号。管理员则根据这一编号将请求的图书返回到读者手中。这是很形象的例子,以下的讲解将会反复用到它。SQLS在安装完成之后,安装程序会自动创建master、model、tempdb等几个特殊的系统数据库,其中master是SQLS的主数据库,用于保存和管理其它系统数据库、用户数据库以及SQLS的系统信息,它在SQLS中的地位与WINDOWS下的注册表相当。master中有一个名为sysindexes的系统表,专门管理索引。SQLS查询数据表的 *** 作都必须用到它,毫无疑义,它是本文主角之一。查看一张表的索引属性,可以在查询分析器中使用以下命令:select from sysindexes where id=object_id(‘tablename’) ;而要查看表的索引所占空间的大小,可以使用系统存储过程命令:sp_spaceused tablename,其中参数tablename为被索引的表名。

首先打开SQL2005 管理平台。连接好数据库。

打开目录:数据库-->系统数据库-->master-- >表-->系统表-->dbostudent-->索引。。这里我只是拿student来举例。你可以选择其他表方法一样的。右击索引选择新建索引。d出新建索引的窗口。

首先要填好索引的名称。可以选择聚集,非聚集,主XML三种索引类型。这里就选择非聚集。

还有添加列,不添加就建立不了的。我们就添加《学号》这一列吧。选择确定

我们刷新一下目录,索引 kk 已经建立好了。ok

第二种方法是通过代码来实现:

首先单击新建查询进入编写代码的窗口。

编写下面的代码:

create nonclustered index kk on student(姓名)

语句 nonclustered index:就是索引的类型为非聚集索引。

kk:索引的名称。

on student:在表student里。

括号里的:姓名是字段的意思。

编译执行代码。

刷新查看索引,已经建立好了。

以上就是关于sql server 怎么建立索引全部的内容,包括:sql server 怎么建立索引、mysql数据库怎么创建索引、哪位高手跟我说说,数据库中'索引'的用法,怎么创建,和在select语句中怎么使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9290808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存