导航:首页 > 数据处理 > 如何给数据库建立索引

如何给数据库建立索引

发布时间:2022-02-04 19:23:01

数据库中怎么建立索引

1.数据库中的索引分为两种类型,分别是普通索引、唯一索引。下面让我们来分别介绍一下这...
2.第一种是普通索引,CREATE INDEX indexName ON mytable(...
3.第二种是唯一索引,它与普通索引是类似的,但也存在不同之处,不同之处在于索引列的值...
4.以上三张图分别为创建索引、修改表结构、创建表时直接指定的数据。而且还有四种方式来...
5.第一种方式:ALTER TABLE tbl_name ADD PRIMARY KEY (...

Ⅱ 建数据库是怎样建索引

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON tbl_name (index_col_name,...) index_col_name: col_name [(length)] [ASC | DESC]CREATE INDEX被映射到一个ALTER TABLE语句上,用于创建索引。
CREATE INDEX允许您向已有的表中添加索引。
格式为(col1, col2,...)的一个列清单创建出一个多列索引。通过串接给定列中的值,确定索引值的格式。
对于CHAR和VARCHAR列,只用一列的一部分就可创建索引。创建索引时,使用col_name(length)语法,对前缀编制索引。前缀包括每列值的前length个字符。BLOB和TEXT列也可以编制索引,但是必须给出前缀长度。
此处展示的语句用于创建一个索引,索引使用列名称的前10个字符。

参考资料: dev.mysql.com/...-index

Ⅲ 数据库索引怎么建立

right © 1999-2020, CSDN.NET, All Rights Reserved

程序员必备的浏览器插件
登录

越来越好ing
关注
数据库索引是什么,有什么用,怎么用 转载
2018-12-04 23:30:36
5点赞

越来越好ing

码龄2年

关注
下面是关于数据库索引的相关知识:

简单来说,数据库索引就是数据库的数据结构!进一步说则是该数据结构中存储了一张表中某一列的所有值,也就是说索引是基于数据表中的某一列创建的。总而言之:一个索引是由表中某一列上的数据组成,并且这些数据存储在某个数据结构中。

2.索引的作用。举个例子,假设有一张数据表Emplyee,该表有三列:

表中有几万条记录。现在要执行下面这条查询语句,查找出所有名字叫“Jesus”的员工的详细信息

3.如果没有数据库索引功能,数据库系统会逐行的遍历整张表,对于每一行都要检查其Employee_Name字段是否等于“Jesus”。因为我们要查找所有名字为“Jesus”的员工,所以当我们发现了一条名字是“Jesus”的记录后,并不能停止继续查找,因为可能有其他员工也叫“Jesus”。这就意味着,对于表中的几万条记录,数据库每一条都要检查。这就是所谓的“全表扫描”( full table scan)

4.而数据库索引功能索引的最大作用就是加快查询速度,它能从根本上减少需要扫表的记录/行的数量。

5.如何创建数据库索引。可以基于Employee表的两列创建索引即可:

拓展资料:

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更

Ⅳ 我的这个数据库 应该怎么建立索引

如果你的表真的就是只有这么几个字段和这么多记录,那建不建索引对效率应该产生不了太大的影响。SQL全在内存里查询,速度会很快,而且你的查询语句基本都是列出所有数据,sql基本都要全表扫描了。
真正影响效率的可能是网络。

Ⅳ sql怎么建立索引

什么是索引
拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。
同理,SQL Server允许用户在表中创建索引,指定按某列预先排序,从而大大提高查询速度。
• SQL Server中的数据也是按页( 4KB )存放
• 索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据。
• 索引页:数据库中存储索引的数据页;索引页类似于汉语字(词)典中按拼音或笔画排序的目录页。
• 索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。

索引类型
• 唯一索引:唯一索引不允许两行具有相同的索引值
• 主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空
• 聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个
• 非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个

索引类型:再次用汉语字典打比方,希望大家能够明白聚集索引和非聚集索引这两个概念。

唯一索引:
唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在stuInfo表中的学员员身份证号(stuID) 列上创建了唯一索引,则所有学员的身份证号不能重复。
提示:创建了唯一约束,将自动创建唯一索引。尽管唯一索引有助于找到信息,但为了获得最佳性能,建议使用主键约束或唯一约束。

主键索引:
在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。

聚集索引(clustered index)
在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同。表只能包含一个聚集索引。例如:汉语字(词)典默认按拼音排序编排字典中的每页页码。拼音字母a,b,c,d……x,y,z就是索引的逻辑顺序,而页码1,2,3……就是物理顺序。默认按拼音排序的字典,其索引顺序和逻辑顺序是一致的。即拼音顺序较后的字(词)对应的页码也较大。如拼音“ha”对应的字(词)页码就比拼音“ba” 对应的字(词)页码靠后。

非聚集索引(Non-clustered)
如果不是聚集索引,表中各行的物理顺序与键值的逻辑顺序不匹配。聚集索引比非聚集索引(nonclustered index)有更快的数据访问速度。例如,按笔画排序的索引就是非聚集索引,“1”画的字(词)对应的页码可能比“3”画的字(词)对应的页码大(靠后)。
提示:SQL Server中,一个表只能创建1个聚集索引,多个非聚集索引。设置某列为主键,该列就默认为聚集索引

如何创建索引
使用T-SQL语句创建索引的语法:
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name…)
[WITH FILLFACTOR=x]
q UNIQUE表示唯一索引,可选
q CLUSTERED、NONCLUSTERED表示聚集索引还是非聚集索引,可选
q FILLFACTOR表示填充因子,指定一个0到100之间的值,该值指示索引页填满的空间所占的百分比

在stuMarks表的writtenExam列创建索引:
USE stuDB
GO
IF EXISTS (SELECT name FROM sysindexes
WHERE name = 'IX_writtenExam')
DROP INDEX stuMarks.IX_writtenExam
/*--笔试列创建非聚集索引:填充因子为30%--*/
CREATE NONCLUSTERED INDEX IX_writtenExam
ON stuMarks(writtenExam)
WITH FILLFACTOR= 30
GO
/*-----指定按索引 IX_writtenExam 查询----*/
SELECT * FROM stuMarks (INDEX=IX_writtenExam)
WHERE writtenExam BETWEEN 60 AND 90
虽然我们可以指定SQL Server按哪个索引进行数据查询,但一般不需要我们人工指定。SQL Server将会根据我们创建的索引,自动优化查询。

索引的优缺点
• 优点
– 加快访问速度
– 加强行的唯一性
• 缺点
– 带索引的表在数据库中需要更多的存储空间
– 操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新

创建索引的指导原则
• 请按照下列标准选择建立索引的列。
– 该列用于频繁搜索
– 该列用于对数据进行排序
• 请不要使用下面的列创建索引:
– 列中仅包含几个不同的值。
– 表中仅包含几行。为小型表创建索引可能不太划算,因为SQL Server在索引中搜索数据所花的时间比在表中逐行搜索所花的时间更长

Ⅵ 数据库表如何建立索引

可以建立索引的;至于建立聚集索引或者是非聚集索引,那要看你这个时间字段的具体情况以及使用或变更频繁程度。 一般来说,适合建立聚集索引的要求:“既不能绝大多数都相同,又不能只有极少数相同”的规则。 先说说一个误区:有人认为:只要建立索引就能显着提高查询速度。这个想法是很错误的。建立非聚集索引,确实,一般情况下可以提高速度,但是一般并不会达到你想要的速度。只有在适当的列建立适当的(聚集)索引,才能达到满意的效果。 下面的表总结了何时使用聚集索引或非聚集索引(很重要)。 动作描述 使用聚集索引 使用非聚集索引 列经常被分组排序 应应 返回某范围内的数据 应 不应 一个或极少不同值 不应 不应 小数目的不同值 应 不应 大数目的不同值 不应 应 频繁更新的列 不应 应 外键列 应应 主键列 应应 频繁修改索引列 不应 应 别的就要看你的理解了。

Ⅶ 如何为数据库建立特定的索引

如果你是要深入数据库设计,那索引怎么建得从类型学起,如果你只是想处理目前比较棘手的查询慢的问题,有几点经验可以和你分享下

主键就是一类索引,所以没必要再建

另外常用搜索字段,比如日期,查询常会有选择一段时间的数据,对日期就可以用你自己上面设计的索引,能够加快查询速度,但前提是这个日期是被你经常用到的查询条件

如果是初学,建立索引后 你不必去研究它是如何工作的,那会比较难懂,总之建了后,系统会自动优化查询,提高速度的

Ⅷ 数据库中怎样建立索引

不同数据库索引建法不一样,所以在这里也很难回答你的问题。你可以在BAIDU里搜索如“oracle建立索引”“SQLSERVER建立索引”等,这方面文章也很多。

Ⅸ 怎么建立数据库的索引

PS:索引不是给你使用的,而是数据库本身使用,索引只是为了让你的查询更加快速而已

SQL CREATE INDEX 语法
在表上创建一个简单的索引。允许使用重复的值:
CREATE INDEX index_name
ON table_name (column_name)

注释:”column_name” 规定需要索引的列。
SQL CREATE UNIQUE INDEX 语法
在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX index_name
ON table_name (column_name)

CREATE INDEX 实例
本例会创建一个简单的索引,名为 “PersonIndex”,在 Person 表的 LastName 列:
CREATE INDEX PersonIndex
ON Person (LastName)

如果您希望以降序索引某个列中的值,您可以在列名称之后添加保留字 DESC:
CREATE INDEX PersonIndex
ON Person (LastName DESC)

假如您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:
CREATE INDEX PersonIndex
ON Person (LastName, FirstName)12

Ⅹ 数据库索引怎么建立

Create index Index_表名_字段 on 表名 (字段)

阅读全文

与如何给数据库建立索引相关的资料

热点内容
怎么给人发信息还钱 浏览:629
手机数据流量被停止如何开启 浏览:63
兽药产品质量档案表怎么写 浏览:790
如何删除微信支付小程序 浏览:766
代理企业需要哪些手续 浏览:338
华新b股在哪个交易所上市 浏览:341
芝麻开门合约交易怎么玩 浏览:567
设置显卡时哪个是英雄联盟主程序 浏览:844
昆明市的医疗信息公司有哪些 浏览:270
唐筛数据哪里显示男女 浏览:274
铃木启悦烧气系统是哪里的技术 浏览:70
标准进场程序STAR从哪里开始 浏览:371
祛斑类产品指什么斑 浏览:421
青岛怎么查看社保信息 浏览:116
如何清除授权软件的信息 浏览:3
公司工商注册信息怎么打印 浏览:470
广州白马市场单买大概多少钱 浏览:122
数据分析师培训课程有哪些 浏览:500
从传媒大学到鑫盛建材市场怎么去 浏览:427
佳丽宝产品为什么没有了 浏览:724