精华内容
下载资源
问答
  • MySQL唯一索引与主键ed区别

    主键是一种约束,唯一索引是一种索引,两者在本质上是不同的;

    主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键;

    主键列不允许为空值,唯一性索引列允许空值;

    主键列在创建时,已经默认为非空值 + 唯一索引了;

    主键可以被其他表引用为外键,而唯一索引不能;

    一个表最多只能创建一个主键,但可以创建多个唯一索引;

    主键和唯一索引都可以有多列;

    主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等;

     

    总体来说:主键相当于一本书的页码,索引相当于书的目录

    展开全文
  • 说说Mysql索引,看到个很少比如:索引就好比一本书目录,它会让你更快的找到内容,显然目录索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是要占磁盘空间的...

    Mysql索引介绍及常见索引(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别

    ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器

    Mysql索引概念:
    说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是要占磁盘空间的。
    Mysql索引主要有两种结构:B+树和hash.
    hash:hsah索引在mysql比较少用,他以把数据的索引以hash形式组织起来,因此当查找某一条记录的时候,速度非常快.当时因为是hash结构,每个键只对应一个值,而且是散列的方式分布.所以他并不支持范围查找和排序等功能.
    B+树:b+tree是mysql使用最频繁的一个索引数据结构,数据结构以平衡树的形式来组织,因为是树型结构,所以更适合用来处理排序,范围查找等功能.相对hash索引,B+树在查找单条记录的速度虽然比不上hash索引,但是因为更适合排序等操作,所以他更受用户的欢迎.毕竟不可能只对数据库进行单条记录的操作. 
    Mysql常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引
    PRIMARY KEY(主键索引)  ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引)     ALTER TABLE `table_name` ADD UNIQUE (`column`)
    INDEX(普通索引)     ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) FULLTEXT(全文索引)      ALTER TABLE `table_name` ADD FULLTEXT ( `column` )
    组合索引   ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` ) 
    
    
    Mysql各种索引区别:
    
    普通索引:最基本的索引,没有任何限制
    
    唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空
    值。
    
    主键索引:它 是一种特殊的唯一索引,不允许有空值。 
    
    全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空
    间。
    
    组合索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。
    
    
    展开全文
  • 数据库索引和主键的区别

    千次阅读 2019-08-05 08:33:36
    索引索引好比是一本书目录,可以快速的通过页码找到你需要的那页。惟一地标识行。 主键:做为数据库表唯一行标识,作为个可以被外键有效引用的对象。 索引种特殊的文件(InnoDB数据表上的索引是表...

    索引:索引好比是一本书的目录,可以快速的通过页码找到你需要的那一页。惟一地标识一行。 

    主键:做为数据库表唯一行标识,作为一个可以被外键有效引用的对象。 

    索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引可以大大提高MySQL的检索速度。

    数据库有两种查询方式,一个全表扫描,条件匹配。一个是索引。

    主键是特殊的索引,主键是索引,索引不一定是主键,索引可以是多列,主键只能是一列。

     

    建立索引后,数据库自动建立索引表,在索引表中只保存了主键和记录号(表中各记录的指针),因此它是独立于数据库的一个表,可以随时创建和删除而不影响主表的结构。

    主键就是主索引,一个表中只能有一个,要求对应字段不能有重复值,它不是唯一索引。
    索引有很多种,普通索引、唯一索引可以允许字段值重复,候选索引、主索引则不允许字段值重复。

     

    数据库的索引是相对于数据表创建了一个索引表,独立于数据表,里面包含一个指针和一条数据,主要用于检索。底层采用的是二叉树的存储结构!

     

    展开全文
  • 主键和索引区别

    2019-03-18 16:38:48
    关系数据库依赖于主键,它是数据库物理模式的基石。...下面是主键和索引的一些区别与联系。 主键一定是唯一性索引,唯一性索引并不一定就是主键。 所谓主键就是能够唯一标识表中某行的属性或属性组,个...

    关系数据库依赖于主键,它是数据库物理模式的基石。主键在物理层面上只有两个用途:

    惟一地标识一行。
    作为一个可以被外键有效引用的对象。
    索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。下面是主键和索引的一些区别与联系。

    1. 主键一定是唯一性索引,唯一性索引并不一定就是主键。

    所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。数据库在设计时,主键起到了很重要的作用。

    主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。

    1. 一个表中可以有多个唯一性索引,但只能有一个主键。

    2. 主键列不允许空值,而唯一性索引列允许空值。

    3. 索引可以提高查询的速度。

    其实主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中,主键一般都要建,主要是用来避免一张表中有相同的记录,索引一般可以不建,但如果需要对该表进行查询操作,则最好建,这样可以加快检索的速度。

    FAQ

    1. 主键是个什么?

    我来来具体的东西说吧,书大家都看过吧,没看过的找本翻一下,看下它每页是不是有个页码,我们的数据表主键就相当于是这个页码,明白了吧。

    1. 那么索引是什么呢?

    我们还拿书来说,索引相当于书的目录,有了目录我们可以很快的知道这本书的基本内容和结构,数据索引也一样,它可以加快数据表的查询速度。

    1. 主键主索引类比,及其他们的作用?

    主键是为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引。
    数据表中只允许有一个主键,但是可以有多个索引。
    使用主键会数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率。
    索引可以提高查询速度,它就相当于字典的目录,可以通过它很快查询到想要的结果,而不需要进行全表扫描。
    主键索引外索引的值可以为空。
    主键也可以由多个字段组成,组成复合主键,同时主键肯定也是唯一索引。
    唯一索引则表示该索引值唯一,可以由一个或几个字段组成,一个表可以有多个唯一索引。

    转载于:https://blog.51cto.com/wangxiaoyong/2364836

    展开全文
  • Mysql主键索引、唯一索引、普通索引、...说说Mysql索引,看到个很少比如:索引就好比一本书目录,它会让你更快的找到内容,显然目录索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目...
  • 主外键,索引,主键和索引区别于联系
  • 原文: Mysql主键索引、唯一索引、普通索引、全文索引、组合索引区别Mysql索引概念:说说Mysql索引,看到个很少比如:索引就好比一本书目录,它会让你更快的找到内容,显然目录索引)并不是越多越好,假如这...
  • 说说Mysql索引,看到个很少比如:索引就好比一本书目录,它会让你更快的找到内容,显然目录索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是要占磁盘空间的...
  • Mysql索引概念:说说Mysql索引,看到个很少比如:索引就好比一本书目录,它会让你更快的找到内容,显然目录索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是...
  • MySQL索引和引擎

    2021-01-19 21:48:53
    索引,可以理解成一本书目录,用于快速了解定位书本中的内容。而在MySQL中,索引是帮助其高效获取数据的、已排好序的数据结构 索引的数据结构 二叉树 红黑树 Hash表 B-Tree … 索引案例 比如现在,MySQL中有...
  • 说说Mysql索引,看到个很少比如:索引就好比一本书目录,它会让你更快的找到内容,显然目录索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是要占磁盘空间的...
  • 索引

    2021-03-20 12:26:07
    索引相当于一本书目录,通过目录可以快速的找到这本书中对应的资源 在数据库方面,查询一张表的时候有两种检索方式(全表扫面,索引检索) 索引为什么能够提高检索效率呢?(其实最根本的原理是缩小了扫描范围)...
  • Mysql索引概念:说说Mysql索引,看到个很少比如:索引就好比一本书目录,它会让你更快的找到内容,显然目录索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要占纸张的,而索引是...
  • 索引和视图

    2017-09-16 19:23:36
    索引个排序的列表,在这个列表中存储着索引的值包含这个值的数据所在行的物理地址,在数据十分庞大的时候,索引可以大大加快查询的速度,这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过...
  •  索引是什么:数据库中的索引类似于一本书目录,在一本书中使用目录可以快速找到你想要的信息,而不需要读完全书。在数据库中,数据库程序使用索引可以重啊到表中的数据,而不必扫描整个表。书中的目录个字词...
  • 索引种用于快速查询行的数据结构,就像本书的目录就是索引,如果想在一本书中找到某个主题,一般会先找到对应页码。在mysql中,存储引擎用类似的方法使用索引,先在索引中找到对应值,然后根据匹配的索引...
  • 想象一下,你去图书馆找到本你喜欢看的书,然后你想要快速知道这本书讲了什么内容,有哪些章节,都是通过书开头的“索引”部分,如果想要在一本书中找到某个特定主题,一般会先看书的“索引”,找到对应的页码。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,604
精华内容 20,641
关键字:

一本书的索引和目录区别