
MySql
文章平均质量分 75
MySql
sinolover
完成项目,就要软硬兼施
展开
-
【转】mysql 、oracle中char和varchar以及varchar2的区别
mysql char是固定长度,varchar是可变长度的,varchar2是oracle特有的。 char定长存储,速度快,但是存在一定空间的资源浪费,适用于存储字段不是很大、对速度要求高的场合。速度快是因为在物理上是按照定长存储的,这样就可以根据偏移地址一次取出固定长度的字符。 varchar是变长存储,所以速度没有char快。varchar在存储时,在物理上先要存储该字段的实际长度,然后才会存储内容,这样在读取的时候,也会读取两次。所以在读取的时候也会比char要慢一下。但是可以节省空间。 由于my原创 2021-03-03 13:27:52 · 1350 阅读 · 0 评论 -
【转】【MySQL】运行原理(四):重做日志(redo log),回滚日志(undo log),二进制日志(binlog)
MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。 其中重做日志和回滚日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志,对理解MySQL中的事务操作有着重要的意义。这里简单总结一下这三者具有一定相关性的日志。 1.重做日志(redo log) MySQL 在更新数原创 2021-01-06 19:21:53 · 350 阅读 · 0 评论 -
【转】2.3【MySQL】运行原理(三)InnoDB 逻辑存储结构
MySQL的存储结构分为5级:表空间、段、簇、页、行。 1.表空间 TableSpace 上篇【MySQL】从InnoDB的内存结构、磁盘结构到update sql执行过程分析在磁盘结构部分就说过了,表空间可以看做是InnoDB 存储引擎逻辑结构的最高层,所有的数据都存放在表空间中。分为:系统表空间、独占表空间、通用表空间、临时表空间、Undo表空间。 2.段 Segment 表空间是由各个段组成的,常见的段有数据段、索引段、回滚段等,段是一个逻辑的概念。一个ibd文件(独立表空间文件)里面会.原创 2021-01-06 19:19:50 · 127 阅读 · 0 评论 -
【转】MySQL中select * for update锁表的问题
MySQL中select * for update锁表的问题 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。 举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键。 例1: (明确指定主键,并且有此笔资料,row lock) SELECT * FROM products WHERE id='3' FOR UP原创 2021-01-06 16:13:43 · 215 阅读 · 0 评论 -
【转】2.2【MySQL】运行原理(二):InnoDB 内存结构、磁盘结构及update sql执行过程分析
前一篇讲完了查询流程,我们是不是再讲讲更新流程、插入流程和删除流程?在数据库里面,我们说的update操作其实包括了更新、插入和删除。如果大家有看过MyBatis的源码,应该知道Executor里面也只有doQuery()和doUpdate()的方法,没有doDelete()和doInsert()。 更新流程和查询流程有什么不同呢?基本流程也是一致的,也就是说,它也要经过解析器、优化器的处理,最后交给执行器。区别就在于拿到符合条件的数据之后的操作。 缓冲池 Buffer Pool 首先,InnnoDB原创 2021-01-06 15:51:23 · 140 阅读 · 0 评论 -
【转】2.1【MySQL】运行原理(一):查询sql的执行过程及MySQL架构分析
MySQL的发展历史和版本分支: 时间 里程碑 1996 年 MySQL1.0 发布。它的历史可以追溯到 1979 年,作者 Monty 用 BASIC 设计的一个报表工具。 1996 年 10 月 3.11.1 发布。MySQL 没有 2.x 版本。 2000 年 ISAM 升级成 MyISAM 引擎。MySQL 开源。 2003 年 MySQL4.0 发布,集成 InnoDB 存储引擎 2005 年 MySQL5.0 版本发布,提供了视图、存储过原创 2021-01-06 15:48:31 · 285 阅读 · 0 评论 -
【转】事务和锁机制是什么关系? 开启事务就自动加锁了吗?
数据库锁 因为数据库要解决并发控制问题。在同一时刻,可能会有多个客户端对同一张表进行操作,比如有的在读取该行数据,其他的尝试去删除它。为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念。 锁的分类 从对数据库操作的类型分 读锁(共享锁):针对同一块数据,多个读操作可以同时进行而不会互相影响。由读表操作加上的锁,加锁后其他用户只能获取该表或行的共享锁,不能获取排它锁,也就是说只能读不能写。 写锁(排它锁):当当前写操作没有完成之前,它会阻断其他写...原创 2021-01-06 13:04:26 · 753 阅读 · 0 评论 -
【转】1.1【MySQL】基本SQL语句大全
1.库操作 登录数据库(-h -u -p -P都不需要空格) mysql -h {ip} -u {username} -p{password} -P {port} # -h ip默认是 localhost # -p 指定密码时中间不要空格,比如 -p123456 # -P 端口默认是 3306 1.1 增 create database 库名 1.2 删 drop database 库名 1.3 查 show databses 1.4 用 use 库名 2.表操作原创 2021-01-06 11:42:38 · 133 阅读 · 1 评论 -
【转】MySQL日期函数与日期转换格式化函数大全
Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1、DAYOFWEEK(date) 1 2 SELECT DAYOFWEEK(‘2016-01-16') SELECT DAYOFWEEK(‘2016-01-16 00:00:00') 1 -> 7 (表示返回日期date是星期几,记住:星期天=1,星期一=2, ... 星期六=7)原创 2020-11-26 17:44:28 · 206 阅读 · 0 评论 -
mysql系列:加深对脏读、脏写、可重复读、幻读的理解
关于相关术语的专业解释,请自行百度了解,本文皆本人自己结合参考书和自己的理解所做的阐述,如有不严谨之处,还请多多指教。 **不可重复读的重点是修改: **同一事务,两次读取到的数据不一样。 幻读的重点在于新增或者删除同样的条件 , 第 1 次和第 2 次读出来的记录数不一样 脏读: 强调的是第二个事务读到的不够新。 事务有四种基本特性,叫ACID,它们分别是: Atomicity-原子性...转载 2019-07-19 11:09:14 · 481 阅读 · 0 评论