Fork me on GitHub

Mysql-09-索引

Mysql-09-索引

1. 页面管理

  • CPU位数准确地说应该是CPU一次能够并行处理的数据宽度,一般就是指数据总线宽度
  • 页面的大小是4K

https://www.cnblogs.com/lfs2640666960/p/8550452.html

1.1 mysql索引和页的关系

  • B-tree,B是balance,一般用于数据库的索引。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。而B+tree是B-tree的一个变种,MySQL就普遍使用B+tree实现其索引结构。  

  • 一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上。这样的话,索引查找过程中就要产生磁盘I/O消耗,相对于内存存取,I/O存取的消耗要高几个数量级,所以评价一个数据结构作为索引的优劣最重要的指标就是在查找过程中磁盘I/O操作次数的渐进复杂度。换句话说,索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数。

  • 为了达到这个目的,磁盘按需读取,要求每次都会预读的长度一般为页的整数倍。而且数据库系统将一个节点的大小设为等于一个页,这样每个节点只需要一次I/O就可以完全载入。每次新建节点时,直接申请一个页的空间,这样就保证一个节点物理上也存储在一个页里,加之计算机存储分配都是按页对齐的,就实现了一个node只需一次I/O。并把B-tree中的m值设的非常大,就会让树的高度降低,有利于一次完全载入。

阅读更多...

Mysql-06-事务

Mysql-06-事务

Mysql 事务

事务:==要么都成功,要么都失败==

举例:

  1. SQL执行 A给B转账
  2. SQL执行 B收到A的钱

1. 核心 :要么都成功,要么都失败

  • 将一组SQL放在同一个批次去执行
  • 如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行
  • MySQL事务处理只支持InnoDB和BDB数据表类型
阅读更多...

Mysql-05-函数和编程

Mysql-05-函数和编程

官方文档

官网文档

常用函数

数学函数

1
2
3
4
5
6
7
8
9
10
11
# 数学函数 (这里只列出一些常用的)

SELECT ABS(-8); /*绝对值*/

SELECT CEILING(9.4); /*向上取整*/

SELECT FLOOR(9.4); /*向下取整*/

SELECT RAND(); /*随机数,返回一个0-1之间的随机数*/

SELECT SIGN(0); /*符号函数: 负数返回-1,正数返回1,0返回0*/
阅读更多...

Mysql-04-DQL

Mysql-04-DQL

DQL语言

DQL( Data Query Language 数据查询语言 )

  • 查询数据库数据 , 如SELECT语句

  • 简单的单表查询或多表的复杂查询和嵌套查询

  • 使用频率最高的语句

  • 是数据库语言中最核心,最重要的语句

阅读更多...

Mysql-03-数据管理

Mysql-03-数据管理

1. 外键管理(一般不用)

外键的概念

​ 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。

​ 由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作为主关键字的表被称为主表,具有此外键的表被陈伟主表的从表。

​ 在实际操作中,将一个表的值放入第二个表中来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)。

阅读更多...

Mysql-02-操作数据库

操作数据库

1. 结构化语言分类

1
操作数据库 > 操作表 > 操作表中的字段

几个基本的数据库操作命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
update user set password=password('123456')where user='root'; 修改密码
flush privileges; 刷新数据库
show databases; 显示所有数据库
use dbname; 打开某个数据库
show tables; 显示数据库mysql中所有的表
describe user; 显示表mysql数据库中user表的列信息
create database name; 创建数据库
use databasename; 选择数据库

exit; 退出Mysql
? 命令关键词 : 寻求帮助
# 表示注释
*/
阅读更多...

Java-基础-抽象类

抽象类-Abstract

1.抽象类的定义

抽象就是从多个事物中将共性的,本质的内容抽取出来。

2.抽象方法的由来

  • 多个对象都具备相同的功能,但是功能具体内容有所不同,那么在抽取过程中,只抽取了功能定义,并未抽取功能主体,那么只有功能声明,没有功能主体的 方法称为抽象方法。

  • 举例:

    • 狼和狗都有吼叫的方法,可是吼叫内容是不一样的。所以抽象出来的犬科虽然有吼叫功能,但是并不明确吼叫的细节。

3.抽象类的特点

3.1:抽象方法只能定义在抽象类中,抽象的方法和抽象的类必须由关键字abstract修饰。

3.2:抽象类值只定义方法声明,不定义功能主题(即方法的实现)。

3.3:抽象类不可以被创建对象。

3.4;抽象类只有子类继承了父类中的方法,并且对其中的所有抽象方法进行了重写。该子类才不是抽象类,只要不是重写当中的所有抽象方法,那么这个子类还是抽象类

阅读更多...
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信