精华内容
下载资源
问答
  • mysql唯一索引和普通索引那个效率高。我指的是效率,区别我明白。
    2021-01-19 06:05:37

    2014-11-02 回答

    二级索引??

    mysql中每个表都有一个聚簇索引(clustered index ),除此之外的表上的每个非聚簇索引都是二级索引,又叫辅助索引(secondary indexes)。

    以innodb来说,每个innodb表具有一个特殊的索引称为聚集索引。如果您的表上定义有主键,该主键索引是聚集索引。如果你不定义为您的表的主键时,mysql取第一个唯一索引(unique)而且只含非空列(not null)作为主键,innodb使用它作为聚集索引。如果没有这样的列,innodb就自己产生一个这样的id值,它有六个字节,而且是隐藏的,使其作为聚簇索引。

    聚簇索引主要是为了方便存储。。所以二级索引应该都是对聚簇索引的索引。

    下面是mysql manual上的原话,也可能我理解有误。

    every innodb table has a special index called the clustered index where the data for the rows is stored. if you define a primary key on your table, the index of the primary key is the clustered index.

    if you do not define a primary key for your table, mysql picks the first unique index that has only not null columns as the primary key and innodb uses it as the clustered index. if there is no such index in the table, innodb internally generates a hidden clustered index on a synthetic column containing row id values. the rows are ordered by the id that innodb assigns to the rows in such a table. the row id is a 6-byte field that increases monotonically as new rows are inserted. thus, the rows ordered by the row id are physically in insertion order.

    accessing a row through the clustered index is fast because the row data is on the same page where the index search leads. if a table is large, the clustered index architecture often saves a disk i/o operation when compared to storage organizations that store row data using a different page from the index record. (for example, myisam uses one file for data rows and another for index records.)

    in innodb, the records in non-clustered indexes (also called secondary indexes) contain the primary key value for the row. innodb uses this primary key value to search for the row in the clustered index. if the primary key is long, the secondary indexes use more space, so it is advantageous to have a short primary key.

    更多相关内容
  • 在业务代码已经保证插入身份证唯一的情况下,可以选择建立唯一索引和普通索引,这时该如何选择呢?接下来,将从查询和更新的执行过程进行分析。 查询过程 假设 k 是表 t 上的索引,在搜索 select id from t where k=...
  • 昨天有位同事说,他的网页查询过程中发现普通索引和唯一索引的效率是有差别的,普通索引比唯一索引
  • MySQL唯一索引和普通索引的区别

    千次阅读 2021-12-23 13:54:31
    Mysql唯一索引和普通索引的区别查询和更新上的区别查询操作更新操作 查询和更新上的区别 查询操作 这两类索引在查询上差别不大,主要是更新上的差别。 查询的时候 普通索引:查找到第一条满足条件的记录后,继续向...

    Mysql唯一索引和普通索引的区别

    查询和更新上的区别

    查询操作

    这两类索引在查询上差别不大,主要是更新上的差别。

    查询的时候

    普通索引:查找到第一条满足条件的记录后,继续向后遍历,直到第一个不满足条件的记录。
    唯一索引:由于索引定义了唯一性,查找到第一条满足条件的记录后,直接停止继续检索。

    普通索引会多检索一次,几乎没什么影响。因为InnDB是按照数据页为单位去读取数据的, 需要读取数据时,并不是直接去磁盘中读取的数据,而是读取数据页到内存,然后再从数据页中检索数据。每个数据页是16kb,对整型字段,一个数据页可以存放近1000个key,除非要读取的数据正好在数据页的最后一条记录,就需要重新再去读一个数据页,这种情况很少,对CPU的消耗基本可以忽略。
    因此,这两类索引在查询上的区别基本没差别。

    更新操作

    更新操作并不是直接对磁盘中的数据进行更新,而是把数据页从磁盘读到内存,再更新数据页。

    普通索引:
    以数据页为单位,把数据从磁盘读到内存,然后更新内存中的数据。
    唯一索引:
    以数据页为单位,把数据从磁盘督导内存,判断是否唯一再更新内存中的数据。

    mysql中有个change buffer机制,普通索引可以用chang buffer,唯一索引用不了。
    chang buffer 的作用是 降低IO操作,chang buffer 将数据写入数据页的操作叫做merge。
    普通索引,如果需要更新的数据页在内存中,则直接更新数据页,如果不在,则会先将操作记录到change buffer,当下次读取数据页是,顺带merge到数据页中,change buffer也有定期merge策略。数据库正常关闭时,也会触发merge。
    唯一索引,更新前需要先判断数据是否唯一。如果数据页在内存中 就可以直接判断并更新,如果不在内存中,则需要从磁盘中读出来,再判断更新,所以用不到change buffer.

    扩展:change buffer 用的是buffer pool里的内存,因此不能无限增大,change buffer 的大小可以通过参数inndb_change_buffer_max_size来动态设。例如这个参数设置的是50时,表示change buffer 的大小最多只能占用 change pool 的 50%。

    总结:mysql 唯一索引和普通索引 在读操作上基本没有什么差别,只是普通索引比唯一索引多检索一次,几乎没什么影响。在写操作上有区别。两种类型的索引在写操作时都是 把数据页先从磁盘读到内存,再更新,但唯一索引更新前会判断数据是否唯一再更新,并且当数据页不在内存中时,普通索引能用 change buffer 先记录更新操作,等下次再读数据页时,顺带merge到数据页,而唯一索引是 需要从磁盘中读取数据页后判断是否唯一再更新,用不到change buffer.

    展开全文
  • Mysql唯一索引和普通索引的区别,

    千次阅读 2020-07-15 16:47:31
    文章目录Mysql唯一索引和普通索引的区别,那种速度快一点,原因是啥理由说明:结论:1 普通索引2 唯一索引注意:唯一索引和普通索引使用的结构都是B-tree,执行时间复杂度都是O(log n)。3 主索引4 外键索引5 复合索引...

    Mysql唯一索引和普通索引的区别,那种速度快一点,原因是啥

    其实,如果业务上就要求我们数据库的值必须是唯一的,那没什么好讨论的,就选择唯一索引;那么如果业务上要求不严格,或者说不需要我们数据库后台来保障唯一性要求,这时候我们选择唯一索引还是普通索引就看谁在性能上更好,谁好选谁。

    唯一索引和普通索引怎么选择

    理由说明:

    我们都知道一个索引就是创建一个B+树,如果他是一个普通索引我们现在去查找,当查找到符合的数据的时候这个时候他就会在进行第二次查找,因为列里面的数据是唯一的,所以第二次查找肯定是没有数据的,这一次查找通过二分法去查找B+树查找到二叉树的叶子结点,每个叶子结点都会对应一个数据块(数据页),如果这个数据页在内存中那么他也就不用去在磁盘或硬盘去读区这个数据了,直接在内存中读取,我们也知道一个数据块大概是可以存储几千条数据的,所以在第一次查找的时候刚好这个数据块的尾部,在进行第二次查找的时候就要在进行IO读取了 一次IO读取是很低效的。但是如果是唯一索引的话这样的话就不会再进行第二次读取了,所以在最坏的情况下,普通索引和唯一索引的最大区别是多进行一次IO读取,概率极小。
    update:
    2.在update或者insert的时候普通索引也就是去在B+ 树中去找位置然后按照B+树的算法结构更新放入 或者更新其结构(拓展:在创建索引的时候会降低更新和插入效率,因为B+树在某种情况下添加结点效率会比较低),这在innoDB中如果说是在内存中没有这个数据块那么在这个情况下他不会去现在就去更新,会将这个更新操作存储在ChangeBuffer上,当第二次有查找这个数据的时候再去读取这个数据块然后再执行这个ChangeBuffer 中的数据操作,meger 这个数据。(在redlog里面也会存一份,也会存储changeBuffer的才操作数据,ES(Elaticsearch)的一种同步方式是通过redo log 来进行是实时同步的),当唯一索引进行更新操作的时候 会先进行一次查找是否唯一,再进行和普通索引一样的操作。所以在符合业务逻辑和无误的前提下:唯一索引比普通索引多一个查找操作。(在进行insert的时候会根据主键来进行查住 主键索引的数据结构发生改变)

    结论:

    在符合业务场景的前提下的时候唯一索引还是少用多用用普通索引。 还有就是change Buffer的使用 在更新读取少的 情况下放大change buffer的存储量 因为chanbuffer量越大其变更的数量更多 减少的IO次书更多,性能也就提高了。

    1 普通索引

    普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHEREcolumn=)或排序条件(ORDERBYcolumn)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。

    2 唯一索引

    • 普通索引允许被索引的数据列包含重复的值。比如说,因为人有可能同名,所以同一个姓名在同一个“员工个人资料”数据表里可能出现两次或更多次。
    • 如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。
    • 这么做的好处:一是简化了mysql对这个索引的管理工作,这个索引也因此而变得更有效率;二是MySQL会在有新记录插入数据表时,自动检查新记录的这个字段的值是否已经在某个记录的这个字段里出现过了;如果是,MySQL将拒绝插入那条新记录。
    • 也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。

    注意:唯一索引和普通索引使用的结构都是B-tree,执行时间复杂度都是O(log n)。

    3 主索引

    在前面已经反复多次强调过:必须为主键字段创建一个索引,这个索引就是所谓的"主索引"。主索引与唯一索引的唯一区别是:前者在定义时使用的关键字是PRIMARY而不是UNIQUE。

    4 外键索引

    如果为某个外键字段定义了一个外键约束条件,MySQL就会定义一个内部索引来帮助自己以最有效率的方式去管理和使用外键约束条件。

    5 复合索引

    索引可以覆盖多个数据列,如像INDEX(columnA, columnB)索引。这种索引的特点是MySQL可以有选择地使用一个这样的索引。如果查询操作只需要用到columnA数据列上的一个索引,就可以使用复合索引INDEX(columnA, columnB)。不过,这种用法仅适用于在复合索引中排列在前的数据列组合。比如说,INDEX(A, B, C)可以当做A或(A, B)的索引来使用,但不能当做B、C或(B, C)的索引来使用。

    6 全文索引

    文本字段上的普通索引只能加快对出现在字段内容最前面的字符串(也就是字段内容开头的字符)进行检索操作。如果字段里存放的是由几个、甚至是多个单词构成的较大段文字,普通索引就没什么作用了。这种检索往往以LIKE %word%的形式出现,这对MySQL来说很复杂,如果需要处理的数据量很大,响应时间就会很长。
      这类场合正是全文索引(full-text index)可以大显身手的地方。在生成这种类型的索引时,MySQL将把在文本中出现的所有单词创建为一份清单,查询操作将根据这份清单去检索有关的数据记录。全文索引即可以随数据表一同创建,也可以等日后有必要时再使用下面这条命令添加:
      ALTER TABLE tablename ADD FULLTEXT(column1, column2)
      有了全文索引,就可以用SELECT查询命令去检索那些包含着一个或多个给定单词的数据记录了。下面是这类查询命令的基本语法:
      SELECT * FROM tablename
      WHERE MATCH(column1, column2) AGAINST(‘word1’, ‘word2’, ‘word3’)
      上面这条命令将把column1和column2字段里有word1、word2和word3的数据记录全部查询出来。
      注解:InnoDB数据表不支持全文索引。

    参考:
    唯一索引和普通索引怎么选择
    唯一索引和普通索引
    唯一索引和普通索引的区别

    展开全文
  • 唯一索引和普通索引的区别

    千次阅读 2019-05-16 09:05:31
    索引用来快速地寻找那些具有特定值的记录,如果没有索引,执行查询时Mysql必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录,表里面的记录数量越多,这个操作的代价就越高,如果作为搜索条件的列...

    一、背景介绍

    索引用来快速地寻找那些具有特定值的记录,如果没有索引,执行查询时Mysql必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录,表里面的记录数量越多,这个操作的代价就越高,如果作为搜索条件的列上已经创建了索引,mysql无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有一千个记录,通过索引查找记录至少要比顺序扫描记录快100倍。所以对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分。

    二、知识剖析

    1、MySQL都有哪些索引类型呢?

    mysql提供多种索引类型供选择:普通索引,唯一索引,主键

    全文索引,单列索引,与多列索引

    2、普通索引

    普通索引的唯一任务是加快对数据的访问速度,因此,应该只为那些最经常出现在查询条件(WHERE column=)或者排序条件(ORDERBY column)中的数据列创建索引

    3.主键

    必须为主键字段创建一个索引,这个Mysql索引就是所谓的“主索引”。主索引与唯一索引的唯一区别是:前者在定义时使用的关键字是PRIMARY而不是UNIQUE

    4.唯一性索引

    如果确定某个数据列只包含彼此各不相同的值,在为这个数据列创建索引的时候,就应该用关键字UNIQUE把它定义为一个唯一索引,Mysql会在有新纪录插入数据表时,自动检查新纪录的这个字段的值是否已经在某个记录的这个字段里出现过了。如果是,mysql将拒绝插入那条新纪录。也就是说,唯一索引可以保证数据记录的唯一性。事实上,在许多场合,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复;

    5.索引的优点

      5.1.可以通过建立唯一索引或者主键索引,保证数据库表中每一行数据的唯一性;

      5.2.建立索引可以大大提高检索的数据,以及减少表的检索行数;

      5.3.在表连接的连接条件,可以加速表与表直接的相连;

      5.4.在分组和排序字句进行数据检索,可以减少查询时间中分组和排序时所消耗的时间(数据库的记录会重新排序)

      5.5.建立索引,在查询中使用索引,可以提高性能。

    6.索引的缺点

       6.1.创建索引和维护索引,会耗费时间,随着数据量的增加而增加;

       6.2.索引文件会占用物理空间,除了数据表需要占用物理空间之外,每一个索引还会占用一定的物理空间;

       6.3.当对表的数据进行INSERT,UPDATE,DELETE的时候,索引也要动态的维护,这样就会降低数据的维护速度,(建立索引会占用磁盘空间的索引文件)。

    三.常见问题

    如何创建索引?

    3.1.1普通索引:ALTER TABLE'table-name' ADD INDEX index_name('column')

    3.1.2唯一索引:ALTER TABLE'table-name' ADD UNIQUE('column')

    3.1.3主键索引:ALTER TABLE'table-name' ADD PRIMARY KEY ('column')

    隐式类型转换对MySQL选择索引的影响:

    当文本字段与数字进行比较时,由于类型不同,MySQL需要做隐式类型转换才能进行比较。

    默认转换规则是:不同类型全都转换为浮点型m,如果字段是字符,条件是整型,那么会把表中字段全都转换成整型

    什么情况下建索引?

    1.、 在经常需要搜索的列上,可以加快索引的速度。

    2、 主键列上可以确保列的唯一性(手机号,身份证号,银行卡号)。

    3、 在表与表的而连接条件上,加上索引,可以加快连接查询的速度。

    4、 在经常需要排序(order by)分组(group by)和distinct列上加索引可以加快排序查询的时间,(单独order by用不了索引,索引考虑加where或者加limit)。

    5 、尽量选择区分度高的列作为索引。

    6、 索引列不能参与计算,保持列“干净”。

    7、 尽量的扩展索引,不要新建索引。

    什么情况不建索引?

    1、查询中很少使用到的列,不应该创建索引,如果建立了索引然而还会降低mysql的性能和增大了空间需求。。

    2、很少数据的列也不应该建立索引,比如一个性别字段0或者1,在查询中,结果集的数据占了表中数据行的比例比较大,mysql需要扫描的行数很多,增加索引,并不能提高效率。

    3、定义为text和image和bit数据类型的列不应该增加索引。

    4、当表的修改(UPDATE,INSERT,DELETE)操作远远大于检索(SELECT)操作时不应该创建索引,这两个操作时互斥的关系。

    MySQL索引方法有几种?

    MySQL目前主要有以下几种索引方法:B-Tree,Hash,R-Tree。

    B-Tree和Hash的区别是什么?

    1、B-Tree

    B-Tree是最常见的索引类型,所有值(被索引的列)都是排过序的,每个叶节点到跟节点距离相等。所以B-Tree适合用来查找某一范围内的数据,而且可以直接支持数据排序(ORDER BY)

    B-Tree在MyISAM里的形式和Innodb稍有不同:

    MyISAM表数据文件和索引文件是分离的,索引文件仅保存数据记录的磁盘地址

    InnoDB表数据文件本身就是主索引,叶节点data域保存了完整的数据记录

    2、Hash索引

    2.1.仅支持"=","IN"和"<=>"精确查询,不能使用范围查询:

    由于Hash索引比较的是进行Hash运算之后的Hash值,所以它只能用于等值的过滤,不能用于基于范围的过滤,因为经过相应的Hash算法处理之后的Hash

    2.2.不支持排序:

    由于Hash索引中存放的是经过Hash计算之后的Hash值,而且Hash值的大小关系并不一定和Hash运算前的键值完全一样,所以数据库无法利用索引的数据来避免任何排序运算

    2.3.在任何时候都不能避免表扫描:

    由于Hash索引比较的是进行Hash运算之后的Hash值,所以即使取满足某个Hash键值的数据的记录条数,也无法从Hash索引中直接完成查询,还是要通过访问表中的实际数据进行相应的比较,并得到相应的结果

    2.4.检索效率高,索引的检索可以一次定位,不像B-Tree索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以Hash索引的查询效率要远高于B-Tree索引

    2.5.只有Memory引擎支持显式的Hash索引,但是它的Hash是nonunique的,冲突太多时也会影响查找性能。Memory引擎默认的索引类型即是Hash索引,虽然它也支持B-Tree索引

    为什么索引类型不一样,但不同类型的索引方式还是B-Tree和Hash呢?

    百度找不到答案,师兄们也不知道,咋整?暂时存疑。

    不通过SQL语句,在java里面怎么创建索引?

    用两个Map搞定

    Map<Integer,String> wenjname=new HashMap<Integer,String>();///索引是数字,内容是文件名

    Map<String,Integer> dcjc=new HashMap<String,Integer>();///索引是单词,内容是上面的索引

    一个Map的话,也可以但是我觉得很费资源啊

    ------------------------------------------------------------------------------------

    附视频:唯一索引和普通索引的区别

    视频分享人:韩要贺

    播放平台:腾讯视频

    展开全文
  • 唯一索引和普通索引性能比较

    千次阅读 2019-09-07 17:17:03
    1.普通索引 查找时,遇第一个不符合条件的才返回。 更新时,找到位置直接更新 2.唯一性索引 查找时,遇到第一个符合条件的直接返回。 更新时,先查找是否唯一,再找到位置然后再更新。 我们来通过底层分析一下: ...
  • 附带一提,普通索引和唯一索引的区别:首先,他们都是索引,然后从字面上来看,普通,就是可重复的索引,唯一索引,就是不可重复的索引。因此他们俩的区别就是一个key可以重复,一个不可重复。 查询操作 普通...
  • mysql唯一索引和普通索引的选择

    千次阅读 2019-02-27 14:19:27
    如果业务能够保证唯一性应该尽量选择普通索引而不是唯一索引 从查询更新两方面说明: 查询: 查询来说二者的区别是 普通索引查到符合条件的项后会继续查找下一项,如果下一项不符合再返回 唯一索引则是查到符合...
  • 对查询:普通索引和唯一索引对查询性能影响很小 对更新:唯一索引比普通索引更耗时. 查询流程:唯一索引找到第一个匹配数据后不继续往后查找. 1.普通索引,从索引树根节点开始按层往下查找,找到对应的数据页,然后...
  • 这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。 这两种索引的运行原理 查询过程 对于普通索引来说,查找到满足条件的第一个记录后,需要查找下一个记录,直到...
  • 一:概述-如果业务代码...二:唯一索引 普通索引 的查询过程?- 例如- 执行查询的语句是 select id from T where k=5-查询语句在索引树上查找的过程-先是通过 B+ 树从树根开始,按层搜索到叶子节点,定位数据页...
  • change buffer 唯一索引和普通索引

    千次阅读 2020-01-03 16:55:51
    唯一索引和普通索引 change buffer 学习检测 什么是change buffer? 唯一索引和普通索引查找数据流程及性能对比? 唯一索引和普通索引更新数据流程及性能对比? change buffer 适用场景? change buffer 和 ...
  • 2. 知识剖析MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。创建索引时,你需要确保该索引是应用在SQL 查询语句的条件(一般作为 WHERE 子句的条件)。实际上,索引也是一张表,该...
  • 聊一聊唯一索引和普通索引

    千次阅读 2022-04-02 15:42:16
    在我们学习MySQL的过程中,肯定了解了索引的一些基本概念,也了解了唯一索引和普通索引的区别,今天我们就简单讨论一下唯一索引和普通索引的使用场景。 我们在开发业务需求时,建立用户信息表是不可避免的。比如维护...
  • (转)仅供自己学习,特此记录Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书...Mysql索引主要有两种结构:B+树hash.hash:hsah索引在mysql比较少用,他以把数据的索引以hash形式组织起来,因此当...
  • 对于普通索引和唯一索引的使用,对于一个开发来说,我相信更多的区别场景就是:如果需要在库里面做一个唯一限制,就使用唯一索引;否则就使用普通索引了。下面主要介绍一下这 2 种索引的区别(使用MySQL时,大多数...
  • --创建唯一索引 create unique index 索引名 on 表名(列名); --创建普通索引 create index 索引名 on 表名(列名); 实际区别: -唯一索引:当前索引列不会有重复的值 -普通索引:当前索引列可能有重复的值 使用...
  • 普通索引和唯一索引的区别

    千次阅读 2018-10-11 10:13:15
    唯一索引和普通索引使用的结构都是B-tree,执行时间复杂度都是O(log n)。 1、普通索引  普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件...
  • 普通索引和唯一索引如何选择? 普通索引可重复,唯一索引不可重复 问题:大量插入数据慢,内存命中率低,考虑是不是唯一索引的问题? 问题:为什么不建议字段长的做主键(比如身份证)? 在主键索引上,叶子节点...
  • 下面分别介绍一下主键索引,唯一索引普通索引 2、主键索引 它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候指定了主键,就会创建主键索引, CREATE INDEX不能用来创建主键索引,使用 ALTER TABLE来代替...
  • 【MySQL】唯一索引普通索引的区别

    千次阅读 2022-04-03 05:58:31
    唯一索引上的字段的数据只能是唯一的,而普通索引可以有重复数据。 以 SELECT * FROM user WHERE k=5 为例, 对于普通索引来说,k 是普通索引的话,会在普通索引上面找出满足条件的值,找到之后会继续往下找。 ...
  • 普通索引唯一索引

    万次阅读 多人点赞 2019-04-08 20:20:06
    所谓普通索引,就是在创建...普通索引还是唯一索引? 假设你在维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,就会...
  • 主要给大家介绍了关于MySQL普通索引和唯一索引的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • mysql普通索引唯一索引区别

    千次阅读 2019-07-21 12:39:10
    1.1 普通索引 ALTER TABLE `tt_test` ADD INDEX `k_title` (`title`) USING BTREE ; 1.2 唯一索引 ALTER TABLE `tt_test` ADD UNIQUE INDEX `un_index_title` (`title`) USING BTREE ; 二、查询语句差异 我们用这...
  • 普通索引:不唯一也可为null;非聚合索引(可以查到记录对应的主键值,再使用主键的值通过索引找到需要的数据) 唯一索引:唯一可为null;唯一约束放在一 个或者多个列上,这些列或列的组合必须有唯一的;创建唯一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 157,113
精华内容 62,845
关键字:

唯一索引和普通索引

友情链接: bizsocket-master.zip