社区
MS-SQL Server
帖子详情
在表中建立 主键后是不是就不用建立索引了?
xiays
2003-08-25 01:12:17
我的表数据可能会很大,我怕执行太慢.就是主键和索引的关系没太搞明白,哪位能简单给讲讲,答的好马上送分
...全文
401
8
打赏
收藏
在表中建立 主键后是不是就不用建立索引了?
我的表数据可能会很大,我怕执行太慢.就是主键和索引的关系没太搞明白,哪位能简单给讲讲,答的好马上送分
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TaoGeGe
2003-08-25
打赏
举报
回复
在SQLSERVER中,一個主鍵就是一個默認的索引
CrazyFor
2003-08-25
打赏
举报
回复
当为表指定 PRIMARY KEY 约束时,Microsoft® SQL Server™ 2000 通过为主键列创建唯一索引强制数据的唯一性。当在查询中使用主键时,该索引还可用来对数据进行快速访问。
如果 PRIMARY KEY 约束定义在不止一列上,则一列中的值可以重复,但 PRIMARY KEY 约束定义中的所有列的组合的值必须唯一。
txlicenhe
2003-08-25
打赏
举报
回复
索引是为了优化查询性能,主键是为了强制数据唯一性和引用完整性
mjhnet
2003-08-25
打赏
举报
回复
索引和主键的主要作用是不一样的阿。
索引是为了优化查询性能,主键是为了强制数据唯一性和引用完整性
CrazyFor
2003-08-25
打赏
举报
回复
当为表指定 PRIMARY KEY 约束时,Microsoft® SQL Server™ 2000 通过为主键列创建唯一索引强制数据的唯一性。当在查询中使用主键时,该索引还可用来对数据进行快速访问。
如果 PRIMARY KEY 约束定义在不止一列上,则一列中的值可以重复,但 PRIMARY KEY 约束定义中的所有列的组合的值必须唯一。
pengdali
2003-08-25
打赏
举报
回复
概念:
簇集索引=聚集索引:
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。
非簇集索引:
非聚集索引与聚集索引一样有 B 树结构,但是有两个重大差别:
数据行不按非聚集索引键的顺序排序和存储。
非聚集索引的叶层不包含数据页。
相反,叶节点包含索引行。每个索引行包含非聚集键值以及一个或多个行定位器,这些行定位器指向有该键值的数据行(如果索引不唯一,则可能是多行)。
非聚集索引可以在有聚集索引的表、堆集或索引视图上定义。在 Microsoft® SQL Server™ 2000 中,非聚集索引中的行定位器有两种形式:
如果表是堆集(没有聚集索引),行定位器就是指向行的指针。该指针用文件标识符 (ID)、页码和页上的行数生成。整个指针称为行 ID。
如果表没有聚集索引,或者索引在索引视图上,则行定位器就是行的聚集索引键。如果聚集索引不是唯一的索引,SQL Server 2000 将添加在内部生成的值以使重复的键唯一。用户看不到这个值,它用于使非聚集索引内的键唯一。SQL Server 通过使用聚集索引键搜索聚集索引来检索数据行,而聚集索引键存储在非聚集索引的叶行内。
由于非聚集索引将聚集索引键作为其行指针存储,因此使聚集索引键尽可能小很重要。如果表还有非聚集索引,请不要选择大的列作为聚集索引的键。
唯一索引:
唯一索引可以确保索引列不包含重复的值。在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都是唯一的。
唯一索引既是索引也是约束。
复合索引:
索引项是多个的就叫组合索引,也叫复合索引。
复合索引使用时需要注意索引项的次序。
建立主键同时sqlserver会加上簇索引。
pengdali
2003-08-25
打赏
举报
回复
CREATE INDEX cust_cadd ON cust (custaddress)
pengdali
2003-08-25
打赏
举报
回复
不是你建立非簇索引就可以了。
分区
表中
主键
索引
是该是全局还是分区
索引
?
1、现在有dba指出修改计划将表
主键
的全局
索引
修改为分区
索引
,不知道修改后能不能够起到优化的作用?? 2、分区
索引
对
主键
中的数据一致性有没有影响?? 3、在不影响生产库的情况下怎样将全局
主键
索引
修改为分区
索引
...
mysql
主键
索引
需要创建_mysql
主键
还需要
建立
索引
吗?
mysql
主键
不需要
建立
索引
,
主键
具备
索引
的功能;当创建或设置
主键
的时候,mysql会自动添加一个与
主键
对应的唯一
索引
,不需要再做额外的添加。数据库管理系统对于
主键
会自动生成唯一
索引
,所以
主键
是一个特殊的
索引
。...
oracle
主键
与
索引
,oracle
主键
\
索引
在oracle中,我们创建一个
主键
,则同时自动创建了一个同名的唯一
索引
;删除
主键
,则
主键
约束和对应的唯一
索引
都删除了。这是我们经常见到的现象。发出一个创建
主键
的sql,oracle其实执行了两步:创建
主键
约束、创建/...
浅谈
主键
索引
与唯一
索引
在数据库关系图中为表定义一个
主键
将自动创建
主键
索引
,
主键
索引
是唯一
索引
的特殊类型。
主键
索引
要求
主键
中的每个值是唯一的。当在查询中使用
主键
索引
时,它还允许快速访问数据。 它们的一些比较: (1)对于主健/...
联合
主键
索引
问题
字段a、b、c作为联合
主键
,每个
主键
字段在什么情况下可以使用
索引
? 测试环境 mysql8.0.15 InnoDB引擎 测试过程
建立
个user表,具体信息如下: user表信息如下: 上
表中
对id,age,sum这个三个字段设定...
MS-SQL Server
34,590
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章