主键索引和普通索引的差异

主键在进行模糊查询时 如果查询全部字段,或查询的字段没有索引,那么主键索引无效。例如:select * 或者select tel没有tel的相关索引

如果查询的字段存在索引,这会使用查询字段的索引,例如select name 有索引money,name

普通索引这不存在该问题。

原因暂时没弄明白,用的时候避免跳坑就行。

原文地址:https://www.cnblogs.com/fanhuo/p/10164181.html

时间: 2024-10-19 07:18:33

主键索引和普通索引的差异的相关文章

mysql——主键自动增长&唯一索引

首先说一下主键和唯一索引的区别 主键:一个数据库的一张表有且仅有一个主键,而且主键不能重复 唯一索引:一个数据库的一张表上唯一索引可以有多个,只是所在唯一索引上的值不能重复,这一点和主键一样 下面我们创建一个有主键有唯一索引的,并且主键是自动增长 create table demo (id int primary key auto_increment, name char(10) unique key, age int); 接下来我们插入数据看看 mysql--主键自动增长&唯一索引 原文地址:

slqserver 主键自动添加聚集索引的问题

据我们所了解,sqlserver 在添加主键的时候,会自动将我宝贵的聚集索引添加在我们的ID 上,然后,有些时候,我们想添加在 常用的搜索的字段上,这个时候,如果主键已经创建了:我们可以使用下面的方法来进行更改: --create index index_索引名 on 表名(列名) sp_helpindex 'Category' --查看表的索引 exec sp_helpconstraint 'Category' --查看表的约束 Alter Table Category DROP constr

主键约束,唯一性约束,唯一性索引

1)主键列:比如我们在表A中指定ID为主键,Oracle数据库会自动创建一个同名的唯一索引 可以通过 select constraint_name,constraint_type from user_indexes ui where ui.table_name='A'来查看主键上的唯一索引,如果此时我们在给ID列去创建唯一性索引或者非唯一性索引的话,都会报错,当然指定主键之后自动也会生成主键约束,主键就是一种约束 (2)非主键列:我们在非主键列上创建一个唯一性约束,Oracle同样自动创建了一个

MySQL主键和索引的联系及区别

转载自:http://www.nowamagic.net/librarys/veda/detail/1954 关系数据库依赖于主键,它是数据库物理模式的基石.主键在物理层面上只有两个用途: 惟一地标识一行. 作为一个可以被外键有效引用的对象. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.下面是主键和索引的一些区别与联系. 1. 主键一定是唯一性索引,唯一性索引并不一定就是主键. 所谓主键就是能够唯一标识表中某一行的属性或属性组

数据库系统基础笔记(3)--主键/外键 索引

本文转载自:http://www.cnblogs.com/longyi1234/archive/2010/03/24/1693738.html 作者:蔚蓝色的天空 一.什么是主键.外键 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 :  学生表 (学号,姓名,性别,班级)  其中每个学生的学号是唯一的,学号就是一个主键  课程表(课程编号,课程名,学分)  其中课程编号是唯一的,课程编号就是一个主键  成绩表(学号,课

主键及主键索引的关系及相互影响

主键的定义:列或多列的集合,用于唯一的标识表中的一行.一个表上只允许有一个主键. 我们在数据库中指定主键时,是通过主键约束来定义的.而创建主键约束时,又是需要有相应的索引来配合实现的.所以,本文的目的是总结创建主键约束时,采用不同的方法创建索引后,主键与该索引之间的关系及相互影响. 为配合本文的描述和测试,首先创建如下测试表: create table test (id number,c1 varchar2(8)); 一. 首先,我们来看最常用的创建主键约束及索引的方法: alter table

MySQL 主键与索引的联系与区别分析

关系数据库依赖于主键,它是数据库物理模式的基石.主键在物理层面上只有两个用途: 惟一地标识一行. 作为一个可以被外键有效引用的对象. 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.下面是主键和索引的一些区别与联系. 1. 主键一定是唯一性索引,唯一性索引并不一定就是主键. 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引.因为主键可以唯一标识某一行记录,所以可以确保执行数据更新.删除的

创建索引和主键

一.      主建的创建与删除 1.       创建表时同时创建主键(加primary key) Create Table Book ( ID int identity(1,1) primary key, Name nvarchar(50) not null, StudentID int not null ) 2.       用SQL语句单独创建主键 1)创建主键同时会自动在该主键上创建聚集索引 语句:alter table [表名] add constraint PK_Book_ID p

索引和主键

主键:唯一标识一行数据,可以作为一个被外键有效引用的对象, 索引:一种特殊的文件它包含着对数据表里所有记录的引用指针.可以很方便的查询想要的数据 主键与索引的区别:主键就是书的页码,索引就是书的目录 主键一定是唯一性的索引,唯一性的索引不一定是主键. 主键可以保证记录的唯一和主键域非空 数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引 一个表中可以有多个唯一索引,但只能有一个主键 主键列不允许为空唯一性索引可以为空值 索引可以提高查询的速度

SQL server 聚集索引与主键的区别

主键是一个约束(constraint),他依附在一个索引上,这个索引可以是聚集索引,也可以是非聚集索引. 所以在一个(或一组)字段上有主键,只能说明他上面有个索引,但不一定就是聚集索引. 例如下面: 1 USE [pratice] 2 GO 3 CREATE TABLE #tempPKCL 4 ( 5 ID INT PRIMARY KEY CLUSTERED --聚集索引 6 ) 7 8 9 --------------------------------- 10 USE [pratice] 1