mysql
mysql的简单使用
java小白~
good good study,day day up.
展开
-
mysql-基础架构
一、基础架构 mysql:分为存储层和server层 server层包括连接器,查询缓存、分析器、优化器、执行器等,覆盖了大多数mysql的功能,以及所有的内置函数,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、存储函数等。 存储层:负责数据的存储和提取,其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。mysql5.6以后默认存储引擎是InnoDB...原创 2019-08-26 19:10:45 · 97 阅读 · 0 评论 -
mysql-事务
事务 简单来说,事务就是保证一组数据库的操作要么全部成功,要么全部失败,在mysql中事务是引擎层实现的。 事务的四大特性 隔离性 当数据库中多个事务同时提交的时候,可能会出现不可重复读、脏读、幻读等问题。 隔离级别: 当隔离的越严实,效率就越低,因此需要找一个平衡点。 sql标准事务的隔离级别: 读未提交、读提交、可重复读、串行。 读未提交:一个事务还没提交的时候,它的变更可能被别的事务看到。 ...原创 2019-08-27 17:06:52 · 85 阅读 · 0 评论 -
mysql-索引
索引 目的:为了提高数据库的查询速度,就像书的目录一样。 索引的常见模型: 哈希表:哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数组里,用一个哈希函数把 key 换算成一个确定的位置,然后把 value 放在数组的这个位置。 解决哈希冲突的办法:链表法 适用场景:哈希表这种结构适用于只...原创 2019-08-27 18:34:09 · 88 阅读 · 0 评论 -
mysql-锁
锁 mysql的锁根据锁的范围来划分分为全局锁、表锁、行锁。 全局锁 顾名思义:就是对整个数据库的实例加锁,mysql提供了一个全局加锁的功能,命令是FLUSH TABLES WITH RED LOCK(ftwrl),当你使用整个库使用只读的时候,可以加这个锁,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。 使用场景:做...原创 2019-08-28 12:36:28 · 111 阅读 · 0 评论 -
mysql-事务隔离
在mysql里有两个视图的概念 一个是view,他是一个用查询语句定义的虚拟表,在调用的时候,执行查询语句并生成结果,创建视图的语法是create view。。,查询方法和表一样。 另一个是Innodb在实现mvcc时用到的一致性视图,即 consistent read view, 用于支持 RC(Read Committed,读提交)和 RR(Repeatable Read,可重复读)隔 离级别...原创 2019-08-28 18:21:43 · 93 阅读 · 0 评论 -
mysql-索引(续)
查询过程: 执行查询的语句是 select id from T where k=5。这个查询语句在索引树上查找的 过程,先是通过 B+ 树从树根开始,按层搜索到叶子节点,也就是图中右下角的这个数据页,然后可以认为数据页内部通过二分法来定位记录。 对于普通索引来说,查找到满足条件的第一个记录 (5,500) 后,需要查找下一个记录, 直到碰到第一个不满足 k=5 条件的记录。 对于唯一索引来说,由于...原创 2019-08-29 09:01:02 · 153 阅读 · 0 评论 -
sql-基础一
DDL 中文是数据定义语言,它定义了数据库的结构和数据表的结构,在ddl中我们常用的功能就是增删改查,分别对应的命令create、alter、drop,需要注意的是在ddl中不需要commit。 1、对数据库进行定义 create database nba;//创建一个数据库 drop database nba;//删除一个数据库 2、对数据表进行定义 create table table_nam...原创 2019-09-03 18:38:19 · 349 阅读 · 0 评论 -
sql-基础二
sql92标准 表的连接 笛卡尔积:笛卡尔乘积是一个数学运算。假设我有两个集合X和Y,那么X和Y的笛卡尔积就是X和Y的所有可能组合,也 就是第一个对象来自于X,第二个对象来自于Y的所有可能。 SELECT * FROM player, team 笛卡尔积也称为交叉连接,英文是CROSS JOIN,它的作用就是可以把任意表进行连接,即使这两张表不相 关。但我们通常进行连接还是需要筛选的,因此 需要...原创 2019-09-04 18:31:43 · 183 阅读 · 0 评论 -
sql-基础三
数据库调优 1、选择合适的dbms 2、优化表的设计 (1) 表结构要尽量遵循第三范式的原则(关于第三范式,我在后面章节会讲)。这样可以让数据结构更加清 晰规范,减少冗余字段,同时也减少了在更新,插入和删除数据时等异常情况的发生。 (2)如果分析查询应用比较多,尤其是需要进行多表联查的时候,可以采用反范式进行优化。反范式采用空 间换时间的方式,通过增加冗余字段提高查询的效率。 (3)表字段的数据类...原创 2019-09-05 10:48:45 · 168 阅读 · 1 评论