MySQL
文章平均质量分 89
学点MySQL
河海哥yyds
正经人谁写代码吖!哦对了,我没说我是正经人。
展开
-
MySQL:关于ID的选择问题,自增/UUID/雪花ID
这么看来雪花算法好像是比较全面的,但是有一个最大的问题就是时钟回拨的问题。百度的生成器里面,已经解决了这个问题。原创 2023-01-03 21:46:04 · 2937 阅读 · 2 评论 -
MySQL:关于innodb里面的聚集索引组成结构。B+树。
聚集索引,B+树,索引页,以及数据是如何进行访问的。原创 2022-12-28 19:34:54 · 701 阅读 · 0 评论 -
MYSQL(二):buffer pool中的数据结构
这次主要研究下MySQL中一个重要的部分,buffer pool????什么是buffer pool????buffer pool 是InnoDB缓存table 和 index data的一块内存空间,buffer pool 使得可以直接从内存中访问data,从而达到speed up processing的效果,在核心服务器中,超过80%的memory会被分配给buffer pool????为了有效的进行读操作,buffer pool被分成包含多个row的pages,为了有效的管理,buffer p原创 2021-06-29 15:39:05 · 489 阅读 · 0 评论 -
MySQL(一)基础架构,一条sql怎么执行的
环境描述mysql:8.0.16一条SQL语句如何执行mysql> select * from T where ID=10;以上就是mysql 一条查询语句大概的执行流程图。连接器正常的使用mysql -u root -p的命令,这个时候不建议直接写上密码,比如mysql -uroot -proot 这样会暴露自己的密码。尤其是生产环境中。密码错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’原创 2021-04-22 18:27:35 · 215 阅读 · 0 评论 -
数据库基础知识ACID,隔离级别RC,RR,RU,SERIALIZABLE,Phantom Rows幻读,解决幻读,脏读dirty read
ACIDA atomicity, C consistency,I isolation, and D durability的缩写,这些特性和事务是紧密联系的,InnoDB事务的特点和ACID原则紧密联系。A 事务是提交和回滚的原子单元,事务对数据库做出更改,不管事务成功commit或者因为失败而回滚。C 在每一个事务被提交或者回滚之后,或者事务在运行过程中,数据库在任何时间是处于一致的状态。如果一个相关的数据正在table中被更新,查询看到的要么是old数据要么是new数据,不会既有old又有原创 2021-01-07 16:34:15 · 2988 阅读 · 0 评论 -
consistent read一致性读,DDL DML DCL
一致性读的概念consistent read mysql 的读操作是快照读,也就是说,在读操作执行的时候是某一个时刻的数据内容,不管其他的事务在做什么,原始数据会依据undo log 进行重新组织。一致性读是用来避免其他事务引起的锁等待问题。 一致性读能够看到 某一时刻提交的事务做出的更改,看不原创 2021-01-07 10:29:37 · 674 阅读 · 0 评论 -
mysql 错误号1553 MySQL Cannot drop index needed in a foreign key constraint,外键也会创建索引
表被参照表:| teacher | CREATE TABLE `teacher` ( `id` varchar(20) NOT NULL, `name` varchar(255) DEFAULT NULL, `salary` decimal(10,2) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHAR...原创 2018-08-22 20:00:18 · 40477 阅读 · 5 评论 -
搞清楚mysql的MVCC实现
高性能mysql 在InnoDB中,会在每行数据后添加两个额外的隐藏的值来实现MVCC,这两个值一个记录这行数据何时被创建,另外一个记录这行数据何时过期(或者被删除)。 在实际操作中,存储的并不是时间,而是系统的版本号,每开启一个新事务,系统的版本号就会递增。 在可重读Repeatable reads事务隔离级别下: SELECT时,读取创建版本号<=当前事务版本号,删除版本号...原创 2018-09-02 13:43:56 · 2335 阅读 · 0 评论 -
mysql innodb行级锁的理解,究竟是什么解决了幻读
行锁 行锁是为了最大并发化所提供的一种锁,封锁某一行数据。我知道的mysql行锁有三种,就间隙锁使用场景,我分成了唯一索引和非唯一索引两种情况。记住所有的for update都是当前读并且加上行锁,跟快照读不一样,你需要明白这个问题。Record Lock: 记录锁,就是字面意思锁定某一行数据,值得注意的是,只有通过索引进行检索的时候才会使用行级锁,如果不是通过索引进行检索就会升级成表...原创 2018-09-03 10:59:39 · 2510 阅读 · 0 评论 -
意向锁
Gtaker2018年08月28日阅读 280详解 MySql InnoDB 中意向锁的作用前言InnoDB 支持多粒度锁(multiple granularity locking),它允许行级锁与表级锁共存,而意向锁就是其中的一种表锁。意向锁(Intention Locks)需要强调一下,意向锁是一种不与行级锁冲突表级锁,这一点非常重要。意向锁分为两种:意向共享锁(intention ...转载 2018-09-03 11:23:21 · 2413 阅读 · 12 评论 -
了解锁的类型
原文:http://www.aneasystone.com/archives/2017/11/solving-dead-locks-two.html November 20, 2017 解决死锁之路 - 了解常见的锁类型 ...转载 2018-09-03 14:15:16 · 506 阅读 · 0 评论 -
mysql workbench 如何查看日志文件
前言 今天学MySQL技术内幕,正好看到了我想学的日志部分,便开始了捣鼓,配置完慢查询日志之后,知道如何从mysql 命令行查看,后来想着从navicat上查看日志,但是发现navicat没有达到我想要的效果,便转手想到了workbench,workbench的功能还是很强大的,并且能够在上面直接观察到日志文件,便有了这篇博客。版本mysql 5.7步骤首先,打开慢查询记录log。...原创 2019-01-19 13:48:10 · 8576 阅读 · 0 评论 -
事务的4种隔离级别,3大问题,脏读幻读不可重复读
转自:https://blog.csdn.net/jiesa/article/details/51317164 一、数据库事务隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、Repeatab...转载 2018-08-19 10:24:07 · 7609 阅读 · 0 评论 -
JDBC-批处理-rewriteBatchedStatements=true,让你的批处理速度增长无数倍,自制一个数据导入工具
前言今天学习了JDBC预编译的批处理,预编译批处理适用于单个sql语句,不同值的多次处理。关键字段连接的时候,默认是不会重写你的Batch的,这个时候就要在连接的后面添上。 url=jdbc:mysql://localhost:3306/day14_customer?useSSL=true&rewriteBatchedStatements=true ,这样它就会重写你的批处理...原创 2018-08-14 15:36:57 · 5738 阅读 · 0 评论 -
mysql转换成excel输出
功能介绍工具模块环境python脚本执行最终结果总结今天学习python3连接数据库的基础部分,解决编码问题之上,如果没有解决编码的问题,你的中文是无法写进去的!一定要记住这个问题!!!附上自己的解决链接: http://blog.csdn.net/qq_41376740/article/details/79195510 然后自己又,学习着人家从数据库转存excel。通原创 2018-01-29 19:55:26 · 4774 阅读 · 1 评论 -
mysql 2014错误码+python3调用过程
发现问题寻找答案变量的理解解决python3调用过程为啥要用过程今天学了半天mysql了,遇到了一个问题,有必要来进行总结一下:发现问题:先附上代码delimiter \\create procedure test( out max_price decimal(8,2))begin select max(prod_pr原创 2018-01-31 13:49:51 · 650 阅读 · 0 评论 -
python format( )强力格式化
format的简单用法 这是一个讲format 的简单链接。然后自己运用到python连接数据库的时候输出格式化。附上代码import pymysqlconn = pymysql.connect( host='localhost', user='root', password='lyy1314520', db='test')cur = conn.原创 2018-01-31 15:10:07 · 1849 阅读 · 0 评论 -
pymysql 操作mysql和数据库同步
嘻嘻,我又来写博客了~作为一名菜鸟,我非常喜欢写博客,记录下自己的成长,然后也是一些总结本次学习要点sql语句练习-procedure对数据进行更新pycharm添加mysql数据源pymysql调用过程pymysql解决数据同步总结本次学习要点sql语句练习-procedure对数据进行更新。create database laboratory;use原创 2018-01-31 20:59:22 · 1577 阅读 · 0 评论 -
mysql alter对表的操作
之前书上对更改table的介绍很少,今天我专门去小小研究了一波alter 修改表表更名修改表的主键添加主键移除原有的主键主键id自增修改column表属性添加属性删除属性移动属性位置更改属性名称mysql 复制replication 的时候对自增字段的处理alter 修改表表更名简述:当你建表的时候,你发现我的表的名字打错了。我原创 2018-02-01 14:33:18 · 601 阅读 · 0 评论 -
mysql高效导入数据
前景问题如何快速将数据导入mysql初探提升尝试纯文本导入excel导入小小想法总结前景关于数据库导入数据,作为新手,我记得最初学习的时候,当时老师是让我们执行sql脚本的,也就是全都是insert 语句的那种。几万条数据把,插了好久emm,今天又遇到了这个问题,于是就特地去网上查找了方法。 附上一个链接:分析的也挺好的 http://blog.cs原创 2018-02-01 20:17:55 · 6424 阅读 · 2 评论 -
mysql游标
一个蛮重要的概念,特地记录下来。引入:在python中使用了游标之后,会产生一种好奇,我们发现从游标里面提取出来的数据全部都是用元组装的,便产生了好奇,为啥偏偏 是元组呢?还不用列表装呢?还有就是,游标不是可以看做指向数据的指针吗?那么能否使用游标来对数据库多原数据进行修改呢?当时没有找到答案,偶然之间发现了下面多一段话mysql游标MySQL游标为只读,不可滚动和敏感。原创 2018-02-04 10:19:02 · 588 阅读 · 0 评论 -
mysql 5.7.21 编码问题解决
概要实验环境探索过程解决方案概要:今天学习python 的时候,到了数据库连接部分,然后看见我的老大哥上面注明了一个编码设置,charset = utf-8,我记得之前在单独使用mysql的时候,我也遇到了这个问题,所以我重现了我遇到的问题。实验环境mysql workbench 如果你使用命令行之后也会遇到同样的问题mysql 5.7.21 官方的最新原创 2018-01-29 15:00:40 · 2691 阅读 · 3 评论 -
mysql 内存表和临时表学习
前景mysql三种虚拟表 临时表内存表视图临时表简介:临时表是建立在系统临时文件夹中的表。临时表的数据和表结构都存储在内存之中,退出的时候所占的空间会被释放创建临时表create temporary table tmp_table(name varchar(10) not null,value int not null);关键字为temp...原创 2018-02-27 22:15:37 · 7740 阅读 · 0 评论 -
mysql数据库备份和查询优化语句命令
数据库小积累查看数据库执行sql语句优化mysql> EXPLAIN EXTENDED -> -> SELECT dept_name from course NATURAL JOIN section where `year` = 2009 GROUP BY dept_name HAVING COUNT(course_id) <= 1;-...原创 2018-06-05 10:59:50 · 700 阅读 · 0 评论 -
ubuntu18.04 安装Navicat 解决字体无法识别,各种方框问题
前景最近带着看一点数据库的知识,装一下navicat,就是这个玩意儿,在我编码毫无问题的情况下,这个软件上却显示各种乱码环境ubuntu 18.04navicat 12(最新版)mysql 5.7 (已经保证mysql字符没有问题)解决mysql内部编码问题 参见楼主的这篇文章https://blog.csdn.net/qq_41376740/article/details...原创 2018-05-29 17:38:06 · 7310 阅读 · 5 评论 -
JDK8中好用的日期处理-LocalDate类-LocalTime-LocalDateTIme,mysql解决时区相差13小时的问题,日期格式器DateTimeFormatter
介绍LocalDate是一种更为高效的日期类,比起Date的复杂具有相当高的简洁性,吸取了企业级别的joda.time时间处理的优点,避免了传统的Date和Calendar复合起来计算的难处LocalDate写在最前面 两个特性务必记住!!!!线程安全所有修改返回皆为新对象,对之前的对象没有影响示例代码:package LocalDate;import ja...原创 2018-07-30 21:27:55 · 12931 阅读 · 0 评论 -
初探:mysql过程procedure和数据精度问题
前景学习过程发现问题总结精度问题前景 昨天在python里面用到了游标,今天专门到mysql里面学习游标,mysql的游标用在存储过程procedure和函数里面,然后我就转到procedure里面先学一点基础的东西,因为在学校里面学习mysql的时候,过程只是一笔带过的,没有好好去看下于是今天又重新学习。学习过程 先附上今天的学习代码:-原创 2018-01-30 17:28:13 · 505 阅读 · 1 评论