首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Mysql 优化方式,都给你整理好了(附思维导图)

第一范式1NF,原子性 第二范式2NF,消除部分依赖 第三范式3NF,消除传递依赖 1、范式 (1)第一范式:具有原子性,确保每保持原子性。 第一范式是最基本范式。...这样设计才算满足了数据库第一范式。 (2)第二范式:主键与非主键遵循完全函数依赖关系,确保表中都和主键相关。 第二范式在第一范式基础之上更进一层。...一个没有建立任何索引表,就相当于一本没有目录书,在每次查询时就会进行全表扫描,这样会导致查询效率极低、速度也极慢。...无论任何类型,都是通过建立关键字与位置对应关系来实现。索引是通过关键字找对应记录地址。 以上类型差异:对索引关键字要求不同。...2.分表 分表是一个大表按照一定规则分解成多张具有独立存储空间实体表,我们可以称为子表,每个表都对应三个文件,MYD数据文件,.MYI索引文件,.frm表结构文件。

1K10
您找到你想要的搜索结果了吗?
是的
没有找到

2018-11-26 oracle查询表信息(索引,外键,等)1、查询出所有的用户表2、查询出用户所有表索引3、查询用户表索引(非聚集索引):4、查询用户表主键(聚集索引):5、查询索引6

oracle中查询信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1、查询出所有的用户表 select * from user_tables...表中table_name字段都会自动变为大写字母, 所以必须通过内置函数upper字符串转化为大写字母进行查询,否则,即使建表语句执行通过之后,通过上面的查询语句仍然查询不到对应记录。...='NONUNIQUE' 4、查询用户表主键(聚集索引): select * from user_indexes where uniqueness='UNIQUE' 5、查询索引 select...= 外键名称 查询引用表列名: select * from user_cons_columns cl where cl.constraint_name = 外键引用表键名 9、查询所有及其属性..., a.table_name 主键表, b.column_name 主键, c.owner 外键拥有者, c.table_name

2.9K20

MySQL数据库建表、优化、算法、分区分库分表总结

建表 一、主键设置 主键为什么不推荐有业务含义? 1、因为任何有业务含义都有改变可能性,主键一旦带上了业务含义,那么主键就有可能发生变更。...此时Int类型改为BigInt类型,就不用考虑达到最大值这个问题。每秒十亿条数据,跑100年,都还没有达到BigInt上限。...2、利用索引中附加,您可以缩小搜索范围,但使用一个具有索引不同于使用两个单独索引。...所以任何关键字查找必须走一条从根结点到叶子结点路。所有关键字查询路径长度相同,导致每一个数据查询效率相当。...如果分区字段中有主键或者唯一索引,那么多有主键和唯一索引都必须包含进来。即:分区字段要么不包含主键或者索引,要么包含全部主键和索引

5.2K31

2019-PHP面试题大全【数据库部分】

(3)参照完整性:是指两个表关键字和外关键字数据应一致,保证了表之间数据一致性,防止了数据丢失或无意义数据在数据库中扩散。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表行或子集。对视图修改不影响基本表。它使得我们获取数据容易,相比多表查询。...第一范式:1NF是对属性原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF是对记录惟一性约束,要求记录有惟一标识,即实体惟一性; 第三范式:3NF是对字段冗余性约束,即任何字段不能由其他字段派生出来...作用: 主键–用来保证数据完整性 外键–用来和其他表建立联系用 索引–是提高查询排序速度 个数: 主键主键只能有一个 外键–一个表可以有多个外键...(1)非相关子查询是独立于外部查询查询,子查询总共执行一次,执行完毕后值传递给外部查询。 (2)相关子查询执行依赖于外部查询数据,外部查询执行一行,子查询就执行一次。

49420

面试过程中Mysql数据库常被问到问题详解

(3)参照完整性:是指两个表关键字和外关键字数据应一致,保证了表之间数据一致性,防止了数据丢失或无意义数据在数据库中扩散。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表行或子集。对视图修改不影响基本表。它使得我们获取数据容易,相比多表查询。...第一范式:1NF 是对属性原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF 是对记录惟一性约束,要求记录有惟一标识,即实体惟一性; 第三范式:3NF 是对字段冗余性约束,即任何字段不能由其他字段派生出来...索引–是提高查询排序速度 个数:主键主键只能有一个 外键–一个表可以有多个外键 索引–一个表可以有多个唯一索引 你可以用什么来确保表格里字段只接受特定范围里值?...(1)非相关子查询是独立于外部查询查询,子查询总共执行一次,执行完毕后值传递给外部查询。 (2)相关子查询执行依赖于外部查询数据,外部查询执行一行,子查询就执行一次。

63230

2020年MySQL数据库面试题总结(50道题含答案解析)

在 MyISAM Static 上所有字段有固定宽度。动态 MyISAM 表具有像 TEXT,BLOB 等字段,以适应不同长度数据类型。 MyISAM Static 在受损情况下容易恢复。...如果能确定某个数据只包含彼此各不相同值,在为这个数据创建索引时候就应该用关键字 UNIQUE 把它定义为一个唯一索引。也就是说,唯一索引可以保证数据记录唯一性。...主键,是一种特殊唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字 PRIMARY KEY 来创建。...对于查询中很少涉及或者重复值比较多,不宜建立索引。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表行或子集。对视图修改不影响基本表。它使得我们获取数据容易,相比多表查询

3.9K20

《深入浅出SQL》问答录

可以把改为不使用NULL,这需要在创建表时使用关键字NOT NULL。 创建表时使用DEFAULT,可于日后输入缺乏部分数据记录时自动填入默认值。...A:原子性有助于确保表内容准确性。 原子性也可以使查询更加有效率。因为查询会因原子性而容易设计,而且所需时间也更短,因此在面对大量数据时有加分效果。 主键规则说说看?...插入外键值必须已经存在与父表来源中,这是引用完整性。 创建外键作为表约束提供了明确优势,如果违反了规则,约束会阻止我们破坏表。 外键不一定要是父表主键,但是要具有唯一性。 ?...范式(NF) 第一范式(1NF) 数据只包含具有院子性值 没有重复数据组 组合键 组合键就是有多个数据构成主键。...部分函数依赖:非主键依赖与组合键某个部分(但不是完全依赖与组合主键)。 传递函数依赖:如果改变任何非键可能造成其他改变,即为传递依赖。

2.9K50

MySQL 给你问懵了?50 道 MySQL 高频面试题详解来了

在 MyISAM Static 上所有字段有固定宽度。动态 MyISAM 表具有像 TEXT,BLOB 等字段,以适应不同长度数据类型。 MyISAM Static 在受损情况下容易恢复。...如果能确定某个数据只包含彼此各不相同值,在为这个数据创建索引时候就应该用关键字 UNIQUE 把它定义为一个唯一索引。也就是说,唯一索引可以保证数据记录唯一性。...主键,是一种特殊唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字 PRIMARY KEY 来创建。...对于查询中很少涉及或者重复值比较多,不宜建立索引。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表行或子集。对视图修改不影响基本表。它使得我们获取数据容易,相比多表查询

2.6K11

面试中有哪些经典数据库问题?

六、B树和B+树区别 1、B树,每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为nul,叶子结点不包含任何关键字信息。 ?...2、B+-tree查询效率更加稳定由于非终结点并不是最终指向文件内容结点,而只是叶子结点中关键字索引。所以任何关键字查找必须走一条从根结点到叶子结点路。...2、利用索引中附加,您可以缩小搜索范围,但使用一个具有索引 不同于使用两个单独索引。...3、如果分区字段中有主键或者唯一索引,那么多有主键和唯一索引都必须包含进来。即:分区字段要么不包含主键或者索引,要么包含全部主键和索引。...(大多数缩写都不能明确字段含义); 字段不要大小写混用(想要具有可读性,多个英文单词可使用下划线形式连接); 字段名不要使用保留字或者关键字; 保持字段名和类型一致性; 慎重选择数字类型; 给文本字段留足余量

1.2K01

24 个必须掌握数据库面试问题!

,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可,是无序,如下图所示: 四、哈希索引优势 等值查询,哈希索引具有绝对优势。...六、B树和B+树区别 1、B树,每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为nul,叶子结点不包含任何关键字信息。...所以任何关键字查找必须走一条从根结点到叶子结点路。所有关键字查询路径长度相同,导致每一个数据查询效率相当。 八、MySQL联合索引 1、联合索引是两个或更多个列上索引。...2、利用索引中附加,您可以缩小搜索范围,但使用一个具有索引不同于使用两个单独索引。...3、如果分区字段中有主键或者唯一索引,那么多有主键和唯一索引都必须包含进来。即:分区字段要么不包含主键或者索引,要么包含全部主键和索引

44520

面试中有哪些经典数据库问题?

六、B树和B+树区别 1、B树,每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为nul,叶子结点不包含任何关键字信息。...2、B+-tree查询效率更加稳定由于非终结点并不是最终指向文件内容结点,而只是叶子结点中关键字索引。所以任何关键字查找必须走一条从根结点到叶子结点路。...2、利用索引中附加,您可以缩小搜索范围,但使用一个具有索引 不同于使用两个单独索引。...3、如果分区字段中有主键或者唯一索引,那么多有主键和唯一索引都必须包含进来。即:分区字段要么不包含主键或者索引,要么包含全部主键和索引。...(大多数缩写都不能明确字段含义); 字段不要大小写混用(想要具有可读性,多个英文单词可使用下划线形式连接); 字段名不要使用保留字或者关键字; 保持字段名和类型一致性; 慎重选择数字类型; 给文本字段留足余量

83430

面试中有哪些经典数据库问题?

六、B树和B+树区别 1、B树,每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为nul,叶子结点不包含任何关键字信息。 ?...2、B+-tree查询效率更加稳定由于非终结点并不是最终指向文件内容结点,而只是叶子结点中关键字索引。所以任何关键字查找必须走一条从根结点到叶子结点路。...2、利用索引中附加,您可以缩小搜索范围,但使用一个具有索引 不同于使用两个单独索引。...3、如果分区字段中有主键或者唯一索引,那么多有主键和唯一索引都必须包含进来。即:分区字段要么不包含主键或者索引,要么包含全部主键和索引。...(大多数缩写都不能明确字段含义); 字段不要大小写混用(想要具有可读性,多个英文单词可使用下划线形式连接); 字段名不要使用保留字或者关键字; 保持字段名和类型一致性; 慎重选择数字类型; 给文本字段留足余量

78910

面试中有哪些经典数据库问题?

六、B树和B+树区别 1、B树,每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为nul,叶子结点不包含任何关键字信息。...2、B+-tree查询效率更加稳定由于非终结点并不是最终指向文件内容结点,而只是叶子结点中关键字索引。所以任何关键字查找必须走一条从根结点到叶子结点路。...2、利用索引中附加,您可以缩小搜索范围,但使用一个具有索引 不同于使用两个单独索引。...3、如果分区字段中有主键或者唯一索引,那么多有主键和唯一索引都必须包含进来。即:分区字段要么不包含主键或者索引,要么包含全部主键和索引。...(大多数缩写都不能明确字段含义); 字段不要大小写混用(想要具有可读性,多个英文单词可使用下划线形式连接); 字段名不要使用保留字或者关键字; 保持字段名和类型一致性; 慎重选择数字类型; 给文本字段留足余量

78620

MySQL经典52题

在MyISAM Static上所有字段有固定宽度。动态MyISAM表具有像TEXT,BLOB等字段,以适应不同长度数据类型。MyISAM Static在受损情况下容易恢复。...如果能确定某个数据只包含彼此各不相同值,在为这个数据创建索引时候就应该用关键字UNIQUE把它定义为一个唯一索引。也就是说,唯一索引可以保证数据记录唯一性。...主键,是一种特殊唯一索引,在一张表中只能定义一个主键索引,主键用于唯一标识一条记录,使用关键字 PRIMARY KEY 来创建。...对于查询中很少涉及或者重复值比较多,不宜建立索引。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表行或子集。对视图修改不影响基本表。它使得我们获取数据容易,相比多表查询

7510

Mysql面试题

在 MyISAM Static 上所有字段有固定宽度。MyISAM Dynamic 表具有像TEXT,BLOB等字段,以适应不同长度数据类型。...MyISAM Static在受损情况下容易恢复。 9. 如果一个表有一定义为 TIMESTAMP,发生什么? 每当行被更改时,时间戳字段获取当前时间戳。 10....如果能确定某个数据只包含彼此各不相同值,在为这个数据创建索引时候就应该用关键字UNIQUE把它定义为一个唯一索引。也就是说,唯一索引可以保证数据记录唯一性。...对于查询中很少涉及或者重复值比较多,不宜建立索引。...视图是一种虚拟表,具有和物理表相同功能。可以对视图进行增,改,查,操作,视图通常是有一个表或者多个表行或子集。对视图修改不影响基本表。它使得我们获取数据容易,相比多表查询

1.1K51

24 个MySQL面试题,Java 程序员又知道多少呢?

四、哈希索引优势: 等值查询, 哈希索引具有绝对优势(前提是:没有大量重复键值,如果大量重复键值时,哈希索引效率很低,因为存在所谓哈希碰撞问题。)...六、B 树和 B+ 树区别? 1、B树,每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为nul,叶子结点不包含任何关键字信息。 ?...所以任何关键字查找必须走一条从根结点到叶子结点路。所有关键字查询路径长度相同,导致每一个数据查询效率相当。 八、关于 MySQL 联合索引 1、联合索引是两个或更多个列上索引。...2、利用索引中附加,您可以缩小搜索范围,但使用一个具有索引不同于使用两个单独索引。...如果分区字段中有主键或者唯一索引,那么多有主键和唯一索引都必须包含进来。即:分区字段要么不包含主键或者索引,要么包含全部主键和索引

80840

面试中有哪些经典数据库问题?

六、B树和B+树区别 1、B树,每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为nul,叶子结点不包含任何关键字信息。 ?...2、B+-tree查询效率更加稳定由于非终结点并不是最终指向文件内容结点,而只是叶子结点中关键字索引。所以任何关键字查找必须走一条从根结点到叶子结点路。...2、利用索引中附加,您可以缩小搜索范围,但使用一个具有索引 不同于使用两个单独索引。...3、如果分区字段中有主键或者唯一索引,那么多有主键和唯一索引都必须包含进来。即:分区字段要么不包含主键或者索引,要么包含全部主键和索引。...(大多数缩写都不能明确字段含义); 字段不要大小写混用(想要具有可读性,多个英文单词可使用下划线形式连接); 字段名不要使用保留字或者关键字; 保持字段名和类型一致性; 慎重选择数字类型; 给文本字段留足余量

74220

【学到就是赚到】十分钟带你重温MySQL基础语法!

第一范式: 表中每个都不能再拆分既列有原子性。 第二范式: 在第一范式基础上,一个表必须拥有一个主键,同时非主键完全依赖于主键,而不能依赖于主键一部分。...,不依赖于其他非主键(不存在传递依赖)即不能存在:非主键 A 依赖于非主键 B,非主键 B 依赖于主键情况 第三范式举例:   如: 订单表Order:(OrderID,OrderDate...总结:   第一范式:字段需要具有原子性   第二范式:主键与非主键遵循完全函数依赖关系,不能是部分依赖关系   第三范式:非主键之间没有传递函数依赖关系 3.1.10、视图   ...字段类型修改为int alter table user1 modify column password int; 三、修改视图结构 // 视图user_view1修改为只包含user_name字段视图...count(字段名)、count(1)有什么差别,推荐使用哪个?

45230

服务器 数据库设计技巧--1

因为:主键是实体高度抽象,主键与外键配对,表示实体之间连接。 ·3. 基本表性质 基本表与中间表、临时表不同,因为它具有如下四个特性: (1) 原子性。基本表中字段是不可再分解。...但是,增加“金额”这个冗余字段,可以提高查询统计速度,这就是以空间换时间作法。 在Rose 2002中,规定列有两种类型:数据和计算。...只有字段个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要是督促读者学会“变行”,这样就防止了子表中字段拉入到主表中去,在主表中留下许多空余字段。...用数据库编程实现业务逻辑好处是减少网络流量并可充分利用数据库预编译和缓存功能。...如下面语句进行全表扫描: select id from t where num=@num 可以改为强制查询使用索引: select id from t with(index(索引名)) where num

1.9K40
领券