mysql索引技术_MySQL索引类型

首先请查看不同引擎支持的索引类型:存储引擎简介 。

聚集索引和非聚集索引概念见:聚集索引与非聚集索引 和 聚集索引 。 覆盖索引见:覆盖索引 。

1. InnoDB的每一个表都会有一个聚集索引(第一索引,主键索引)。InnoDB按照主键进行聚集,如果没有定义主键,InnoDB会试着使用唯一的非空索引来代替。如果没有这种索引,InnoDB就会定义隐藏的主键然后在上面进行聚集。

2. InnoDB不支持非主键的聚集索引,默认在主键上建立聚集索引(因为有了主键就有了索引,大量insert速度会变慢?先disable主键再insert?)。如果想在某列建立聚集索引,那么只能将该列设为主键。

3. 聚集索引采用B+Tree。其他索引不采用B+Tree。如果其他索引使用B-Tree,则叶子节点中存储的数据为主键,即先用B-Tree找到该列所属的主键(存储在叶子节点上),再主键通过B+Tree找到该行中所有所需数据(叫做回表?)。

4. B-Tree是索引和数据不同文件存储?应该都是存储在同一文件中。

5. 聚集的覆盖索引默认存在。非聚集覆盖索引的建立需要查询列包含在主键中(组合主键,非最左),并对查询列建立索引。

创建索引语法如下:    CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name    [USING index_type]    ON tbl_name (index_col_name,...)    index_col_name:    col_name [(length)] [ASC | DESC] 索引的存储类型目前只有两种(btree和hash),具体和表的模式相关:    myisam     btree    innodb      btree    memory/heap hash,btree

1.

alter table table_name add index index_name (column_list) ;       普通索引

alter table table_name add unique (column_list) ;                          唯一索引

alter table table_name add primary key (column_list) ;                  主键索引

其中包括普通索引、UNIQUE索引和PRIMARY KEY索引3种创建索引的格式,table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。

2.

create index index_name on table_name (column_list) ;

create unique index index_name on table_name (column_list) ;

说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。

3. 删除索引

drop index index_name on table_name ;

alter table table_name drop index index_name ;

alter table table_name drop primary key ;

其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CodeForces - 616C 】The Labyrinth点石成金(并查集,dfs)

题干: 小O无意间发现了一张藏宝图,它跟随藏宝图的指引来到了一个宫殿,宫殿的地板被分成了n*m块格子,每个格子上放置了金子或者石头 藏宝图告诉小O,它可以选择一块石头变成金子,并且带走与变化后的金子联通…

mysql连接方式左联_数据库中的左连接(left join)和右连接(right join)区别 | 改变自己...

Left Join / Right Join /inner join相关关于左连接和右连接总结性的一句话:左连接where只影向右表,右连接where只影响左表。Left Joinselect * from tbl1 Left Join tbl2 where tbl1.ID tbl2.ID左连接后的检索结果是显示tbl1的所有数据和tbl2中满足whe…

【蓝桥杯官网试题 - 真题训练】生命之树(树形dp)

题干: 在X森林里,上帝创建了生命之树。 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,…

jsp mysql 推荐算法_基于jsp+mysql+Spring+mybatis的SSM协同过滤音乐推荐管理系统(个性化推荐)...

运行环境: 最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。IDE环境: Eclipse,Myeclipse,IDEA都可以tomcat环境: 最好是Tomcat 7.x,8.x,9.x版本均可,理论上Tomcat版本不是太老都可以。,我们在这个环…

【牛客 - 157F】三轮(dp,分治fft)

题干: 链接:https://ac.nowcoder.com/acm/contest/157/F 来源:牛客网 小k有一个三轮,它最多可以装105大小的东西 小k有n种商品,他要准备出摊了 每种商品体积为vi,都有105件 输出凑成1~m的体积的总方案…

项目进度计划甘特图_甘特图做项目进度计划的技巧?

原标题:甘特图做项目进度计划的技巧?甘特图怎么做项目进度计划?首先我们先了解一下,什么是甘特图。甘特图(Gantt chart)又称为横道图、条状图(Bar chart),是由提出者亨利L甘特来命名的。甘特图通过条状图来显示项目&am…

【牛客 - 157C】PH试纸(前缀和,或权值线段树,主席树)

题干: 链接:https://ac.nowcoder.com/acm/contest/157/C 来源:牛客网 题目描述 PH试纸,是一种检测酸碱度的试纸,试纸红色为酸性,蓝色为碱性。 HtBest有一个PH试纸,试纸被分成了n段&#xff0c…

python访问网页速度_python实现用于测试网站访问速率的方法

这是python编写的用于测试网站访问速率的代码片段,可以输出打开某url的时间,访问100次的平均时间,最大时间和最小时间等等import urllib2from datetime import *import timedef Process(url,n):minSpan 10.0maxSpan 0.0sumSpan 0.0over1s …

【牛客 - 157B】凤凰(树上并查集,dfs)

题干: 链接:https://ac.nowcoder.com/acm/contest/157/B 来源:牛客网 题目描述 传说,凤凰是百鸟之王。有一天,凤凰要召开百鸟大会,百鸟国是一个由n个节点组成的树,每个节点有一只鸟&#xff0…

saltstack 管理mysql_saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入...

saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入salt的返回值写入mysql数据库:可参考:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql在mysql数据库中创建数据库、…

【PTA天梯赛CCCC -2017决赛L1-6 】整除光棍 (20 分)(大数模拟除法)

题干: 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x&#…

mysql etl工具有哪些_常见ETL工具一览,你知多少?

这些年,几乎都与ETL打交道,接触过多种ETL工具。现将这些工具做个整理,与大家分享。一 ETL工具【国外】1. datastage点评:最专业的ETL工具,价格不菲,使用难度一般下载地址:ftp://ftp.seu.edu.cn/…

【PTA天梯赛CCCC -2017决赛L2-3】图着色问题 (25 分)(图染色)

题干: L2-3 图着色问题 (25 分) 图着色问题是一个著名的NP完全问题。给定无向图G(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色? 但本题并不是要你解决这个着色问题&a…

python如何显示时间_如何让python显示当前时间(东部)

如果您需要大量时区,则应使用pytz包,并且需要正确处理夏令时的重复小时(即从午夜到凌晨1点发生的情况)。对于简单的事情,创建自己的时区类很容易:import datetimeclass EST5EDT(datetime.tzinfo):def utcoffset(self, dt):return …

【PTA天梯赛CCCC -2017决赛L2-4】部落 (25 分)(图染色)

题干: 在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检…

python控制浏览器导出数据_Django导出数据为Excel,调用浏览器下载

1. 环境Django (2.1.10) Python3.6 xlwt (1.3.0)操作系统使用的为:Windows 72. 接口代码defnow_export(request):data_list CIP.objects.all() #获取数据的查询集if notdata_list:return HttpResponse(json.dumps({"state": "1", "msg&q…

☆用Python实现ACM各大输入输出格式

arr input(""); #输入一个一维数组,每个数之间使空格隔开 num [int(n) for n in arr.split()]; #将输入每个数以空格键隔开做成数组 print(num[0]num[1]); #打印数组 # encoding: utf-8Python的输入是野生字符串,所以要自己转类…

wp config.php mysql_WordPress手动配置wp-config.php文件

前不久在WordPress技术群里看到有人在安装网站程序的时候出现了系统不能自动配置wp-config.php文件的问题,那么这个时候就需要我们手动进行配置了。问题描述:如果自动创建未能成功,不用担心,您要做的只是将数据库信息填入配置文件…

sqlserver mysql分页_SQLServer数据库分页查询语句

本文主要向大家介绍了SQLServer数据库分页查询语句,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。SQL Server分页查询是我们经常会用到的功能,下面就为你介绍分页查询的相关语句,希望对您学习SQL Server分页…

Python求一个整数位数的方法

a int(input()); print(len(str(a))) print(a) 输入: 123 输出: 3 123