首页 > 其他分享 >普通索引 & 唯一索引 & 主键索引 & 组合索引 & 全文索引

普通索引 & 唯一索引 & 主键索引 & 组合索引 & 全文索引

时间:2022-08-28 22:45:47浏览次数:71  
标签:name int 全文索引 索引 TABLE table NULL 主键

普通索引
这是最基本的索引,它没有任何限制。它有以下几种创建方式:

(1)直接创建索引

CREATE INDEX index_name ON table(column(length))
(2)修改表结构的方式添加索引

ALTER TABLE table_name ADD INDEX index_name ON (column(length))
(3)创建表的时候同时创建索引

CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) CHARACTER NOT NULL ,
`content` text CHARACTER NULL ,
`time` int(10) NULL DEFAULT NULL ,
PRIMARY KEY (`id`),
INDEX index_name (title(length))
)
唯一索引
与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

(1)创建唯一索引

CREATE UNIQUE INDEX indexName ON table(column(length))
(2)修改表结构

ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
(3)创建表的时候直接指定

CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) CHARACTER NOT NULL ,
`content` text CHARACTER NULL ,
`time` int(10) NULL DEFAULT NULL ,
UNIQUE indexName (title(length))
);
主键索引
是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。一般是在建表的时候同时创建主键索引:

CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) NOT NULL ,
PRIMARY KEY (`id`)
);
组合索引
指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用组合索引时遵循最左前缀集合

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);
全文索引
主要用来查找文本中的关键字,而不是直接与索引中的值相比较。fulltext索引跟其它索引大不相同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。fulltext索引配合match against操作使用,而不是一般的where语句加like。它可以在create table,alter table ,create index使用,不过目前只有char、varchar,text 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用CREATE index创建fulltext索引,要比先为一张表建立fulltext然后再将数据写入的速度快很多。

CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) CHARACTER NOT NULL ,
`content` text CHARACTER NULL ,
`time` int(10) NULL DEFAULT NULL ,
PRIMARY KEY (`id`),
FULLTEXT (content)
);

标签:name,int,全文索引,索引,TABLE,table,NULL,主键
From: https://www.cnblogs.com/lulu66/p/16634301.html

相关文章

  • 项目中索引的真实应用场景-2022新项目
    一、业务场景项目开发中,数据存储是一定少不了的,不管是存储关系型数据还是还是非关系型数据。可选择的范围也很广,比如mysql,postgresql,oracle,mongodb等等。一般都是根......
  • Blog内容索引
    Blog内容索引此章节为Blog内容的目录索引,记录每个章节/每篇内容的一些简短描述,针对系列性的文章目录,列出目录结构,方便大家阅读01JavaStringhashCode系列分析,介绍java......
  • Mysql 大表在线DDL修改表全文索引解决方式
    1.添加主键索引ALTERTABLEtable_nameADDPRIMARYKEY(column),Algorithm=Inplace;2.添加唯一索引ALTERTABLEtable_nameADDUNIQUE(column),Algorithm=Inplac......
  • MySQL InnoDB索引原理
     数据库与I/O原理数据会持久化到磁盘,查询数据是就会有I/O操作,相对于缓存操作,I/O操作的时间成本相当高昂。I/O操作的基本单位是一个磁盘页面,比如16KB的页面大小。当数据......
  • 种类并查集 把find变成查索引 unity变成x是y的
    真假英雄http://oj.saikr.com/contest/20/problem/K在一个小镇上,很多人都患了一个精神病,他们都认为自己是“英雄”或者“反派”中间的一种,“英雄”觉得自己是正义的一方,......
  • MySQL十:索引基础知识回顾
    转载~1、索引简介1.1什么是索引索引是对数据库表中一列或多列的值进行排序的一种结构,可以大大提高MySQL的检索速度。索引在MySQL中也叫做key,当表中的数据量越来越大时,......
  • MySQL十一:索引基本原理
    转载~在上一篇《索引基础知识回顾》中提到索引按照存储结构划分有B-Tree索引、Hash索引、B+Tree索引类型,接下来就学习一下这几种索引结构以及在实际存储引擎中的使用情况......
  • PowerDesigner添加索引(转载)
     原文链接:https://blog.csdn.net/a1720119024/article/details/90732860/生成的sql举例:createuniquenonclusteredindexIX_ZybwhysClass_NameonT_ZybwhysClass(N......
  • MySQL查询性能优化七种武器之索引下推
    今天要讲的是MySQL的另一种查询性能优化方式— 索引下推(IndexConditionPushdown,简称ICP),是MySQL5.6版本增加的特性。1.索引下推的作用主要作用有两个:减少回表查询......
  • 【ElasticSearch】索引生命周期管理(三) 避坑指南
    背景主要是针对在使用索引生命周期的去管理索引的过程中,记录所踩到坑,避免同样的问题再次发生问题1. 索引生命周期中设置各个阶段的市场以及索引rollover的时间......