SQL2005外键带有索引吗??我还需要在外键上面建索引吗?
来源:互联网 发布:淘宝删除代发货的 编辑:程序博客网 时间:2024/05/30 04:40
建立外键不像建立主键那样默认有一个聚集索引,需要手工增加在外键上的索引。
如:
- SQL code
- Use testGoIf Object_id('TableB','U') Is Not Null Drop Table TableBGoIf Object_id('TableA','U') Is Not Null Drop Table TableAGoCreate Table TableA( ID int Identity(1,1) Not null, x int , Constraint PK_TableA_ID Primary Key(ID Asc))GoCreate Table TableB( ID int Identity(1,1) Not null, A_ID int Not null, x int , Constraint PK_TableB_ID Primary Key(ID Asc), Constraint FK_TableB_A_ID Foreign Key(A_ID) References TableA(ID))Go--查询索引:Select name From Sys.indexes Where object_id In(object_id('TableA'),object_id('TableB'))/*name--------------------PK_TableA_IDPK_TableB_ID*/--手工增加对外键的索引Create Nonclustered Index IX_TableB_A_ID On TableB(A_ID Asc)Go--查询索引:Select name From Sys.indexes Where object_id In(object_id('TableA'),object_id('TableB'))/*name--------------------------PK_TableA_IDPK_TableB_IDIX_TableB_A_ID*/
- 外键除了为了实体完整性意外,它一般还是另一个表的主键,主键是索引。
所以含有外键的表连接的时候会用到索引(外键的主表的)比较快 - 外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。当创建或修改表时可通过定义 FOREIGN KEY 约束来创建外键。
在外键引用中,当一个表的列被引用作为另一个表的主键值的列时,就在两表之间创建了链接。这个列就成为第二个表的外键
- SQL2005外键带有索引吗??我还需要在外键上面建索引吗?
- 在外键上创建索引V1.0
- 某个字段建立了unique索引,那么这个字段还需要建立normal类型的索引吗
- 看样子全文索引,还需要定期BUILD
- MySQL普通索引、唯一索引、主索引、外键索引、复合索引、全文索引的使用
- Sql2005 全文索引详解
- 学习 SQL2005 全文索引
- SQL2005 索引设计
- Sql2005 全文索引(一)
- Sql2005 全文索引(二)
- Sql2005 全文索引(三)
- Sql2005 全文索引(四)
- Sql2005 全文索引(五)
- Sql2005 全文索引
- SQL2005全文索引
- Sql2005 全文索引(五)
- Sql2005 全文索引(四)
- Sql2005 全文索引(三)
- 人不能同时在两个地方做猪
- ECC
- 模拟器和能力(capability)检查
- 关于LINUX某些驱动程序如GPIO编译的时候提示未定义的问题
- 【Android浏览器插件开发准备工作之NPAPI】使用Visual Studio 2008 运行Firefox浏览器插件实例npruntime
- SQL2005外键带有索引吗??我还需要在外键上面建索引吗?
- Python 中__init__.py的使用(通过包调用方法)
- Spring 3.0.5 + CXF 2.4 + Hibernate 3.6.0 + MySQL 5.5 整合(CXF/Spring/Hibernate)实现简单的WSS4J认证 + 测试
- 用JAVA中的多线程示例生产者和消费者问题
- oracle报“shared memory realm does not exist”
- SQLSERVER 2000 如何收缩数据库
- 在.NET中輕鬆快樂叫用Win32 API
- Adding a new board to Uclinux
- strncpy和snprintf的正确用法详解