数据库
文章平均质量分 72
咚咚锵呀
沃德天.维森陌.拉莫帅.帅得.布耀不耀德
展开
-
Redis的缓存淘汰策略
1、noevication:直接抛出异常,不再接收新数据2、allkeys-lru:从所有键中淘汰最久没有使用的数据3、volatile-lru:从设置了过期时间的键中淘汰最久没有使用的数据4、allkeys-lfu:从所有键中淘汰使用频率最少的数据5、volatile-lfu:从设置了过期时间的键中淘汰使用频率最少的数据6、allkeys-random:从所有键中随机淘汰数据7、volatile-random:从设置了过期时间的键中随机淘汰数据8、volatile-ttl:从设置了过期...原创 2021-03-19 10:14:24 · 273 阅读 · 0 评论 -
MySQL杂记--三大日志binlog、redo log、undo log
提问1: 为啥 Binlog 没有 crash-safe 功能?redo log 和 binlog 有一个很大的区别就是,一个是循环写,一个是追加写。也就是说 redo log 只会记录未刷盘的日志,已经刷入磁盘的数据都会从 redo log 这个有限大小的日志文件里删除。binlog 是追加日志,保存的是全量日志。当数据库 crash 后,想要恢复未刷盘但已经写入 redo log 和 binlog 的数据,binlog 是无法恢复的。虽然 binlog 拥有全量的日志,但没有一个...原创 2021-03-10 18:19:54 · 213 阅读 · 0 评论 -
SQL 某状态耗时过多的优化
1. 引言此前的文章中,我们介绍了mysql最常用的存储引擎–innodb的性能优化。主要围绕参数、索引设置等方面进行。MysqlInnodb性能优化事实上,在实际使用中,最为常见的性能问题大多是不合理的使用方式,即sql语句的问题引起的,因此与参数、索引优化相比,直接优化和修改sql语句获得的收效往往更加明显。本文,我们就来看看如何查看mysql中正在运行的sql语句的状态,以及如何进行相应的优化。2. 查看sql执行状态2.1. 查看正在执行的SQ...转载 2021-02-25 14:54:48 · 1159 阅读 · 0 评论 -
数据库三大范式通俗理解
数据库三大范式:范式的简介范式的英文名称是Normal Form,它是英国人E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。数据往往种类繁多,而且每种数据之间又互相关联,因此,在设转载 2020-11-17 11:12:03 · 195 阅读 · 0 评论 -
MySQL事物记录
1、事务的四大特性(ACID)1.1、原子性(Atomicity)原子性是指事务包含的一系列操作要么全部成功,要么全部回滚,不存在部分成功或者部分回滚,是一个不可分割的操作整体。1.2、一致性(Consistency)数据库总是从一种一致性状态转换到另一种一致性状态,有非法数据时,事务回滚,任何事务处理过程中所做的数据改变,也不会影响到数据库的内容。 1.3、隔离性(Isolation)隔离性是指当多个用户并发操作数据库,比如操作同一张表,数据库为每一个用户开启的事务...原创 2020-06-06 18:40:43 · 480 阅读 · 0 评论 -
mysql中tinyint、smallint、int、bigint的区别
tinyint从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据。存储大小为1 个字节。unsigned 是从 0 到 255 的整型数据。所以建表的时候 只能是tinyint(3),哪怕你建tinyint(100),他最大还是3位这么多。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小...转载 2019-11-28 17:14:12 · 218 阅读 · 0 评论 -
MySQL 数据类型(float)的注意事项
知识点: float:浮点数,单精度,占4字节。测试root@localhost : test 05:49:32>create table fl(id int,fl float);Query OK, 0 rows affected (0.05 sec)root@localhost : test 05:49:40>insert into fl values(1,1...转载 2019-11-28 14:00:29 · 240 阅读 · 0 评论 -
记一次MySql手动开启事物的过程
最近因为需要通过SQL导入一批外部数据,在SQL的编写阶段为了不在数据库产生垃圾数据,用到了MySql中InnoDB存储引擎的事物特性。MySql版本:select version();MySql当前会话隔离级别:select @@tx_isolation;MySql当前存储引擎:show variables like '%storage_engine%';首先创建数据...原创 2019-11-12 20:55:05 · 337 阅读 · 0 评论 -
MongoDB 使用小结
一、MongoDB 设置账号和密码使用ROTO 3T图形化客户端工具连接mongo时,MongoDB出现错误:Error: Failed to execute "listdatabases" command错误:无法执行“listdatabases”命令,这时候需要用步骤2的命令创建一个管理员账户admin。 1.开启认证 MongoDB默认安装完成...原创 2019-03-20 14:32:24 · 3456 阅读 · 2 评论 -
记录一次MySql锁等待 (Lock wait timeout exceeded)异常
Java执行一个SQL查询未提交,遇到1205错误。 java.lang.Exception: ### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction解决办法:执行mysql命令:SELECT * FROM ...原创 2018-05-27 00:23:35 · 31973 阅读 · 0 评论 -
mysql 索引整理记录
mysql 索引使用原则: 我们应该可以知道,并不是每个字段度设置索引就好,也不是索引越多越好,而是需要自己合理的使用。 1、对经常更新的表就避免对其进行过多的索引,对经常用于查询的字段应该创建索引, 2、数据量小的表最好不要使用索引,因为由于数据较少,可能查询全部数据花费的时间比遍历索引的时间还要短,索引就可能不会产生优化效果。 3、在一同值少的列上(字段上)不要建立索引...原创 2018-05-25 11:57:23 · 429 阅读 · 0 评论 -
MySQL索引优化分析
MySQL索引优化分析为什么你写的sql查询慢?为什么你建的索引常失效?通过本章内容,你将学会MySQL性能下降的原因,索引的简介,索引创建的原则,explain命令的使用,以及explain输出字段的意义。助你了解索引,分析索引,使用索引,从而写出更高性能的sql语句。还在等啥子?撸起袖子就是干!案例分析我们先简单了解一下非关系型数据库和关系型数据库的区别。Mongo转载 2018-01-06 13:33:31 · 243 阅读 · 0 评论 -
powerdesigner添加mysql的字符集支持
powerdesigner12.5在做建模的时候发现没有找到哪儿设置表的字符集和存储引擎。于是研究了一番。在菜单上方选择 Database => Edit Current DBMS 然后选择Mysql5.0 => Script => Objects => Table => Options 在右边的Value框内最后部分追加:原创 2018-01-06 14:32:33 · 1612 阅读 · 0 评论 -
使用flyway对应用的数据库版本控制
官方网站:https://flywaydb.org/getstarted/基本概念一、为什么要使用DB migration tools我们可以想象,多位开发人员,多个数据库环境。偶尔就出现:哎呀!集成环境的数据库忘记更新了。二、script 目录flyway执行时,默认读取的目录是classpath:/db/migration我们项目中就放在/resource/db原创 2017-11-25 16:24:57 · 11413 阅读 · 3 评论 -
Sql的decimal、float、double类型的区别
三者的区别介绍 float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位) 按存储的范围进行排序 float(real)doub转载 2016-05-05 11:08:41 · 14427 阅读 · 0 评论 -
对数据库索引的理解
1、首先要明白无名无实莫要用索引:因为数据中的记录很多,为了方便我们查找,提高查询的效率;2、索引的原理:对要查询的字段建立索引其实就是把该字段按照一定的方式排序;建立的索引只对该字段有用,如果查询的字段改变,那么这个索引也就无效了,比如图书馆的书是按照书名的第一个字母排序的,那么你想要找作者叫张三的就不能用改索引了;还有就是如果索引太多会降低查询的速度3、索引是优缺点: 首先明白转载 2017-01-03 09:28:12 · 386 阅读 · 0 评论 -
PLSQL-Developer数据库连接工具使用方法
PLSQL-Developer数据库连接工具使用方法该方法适用于本机未安装Oracle客户端的情况下如何让连接到数据库.经过本人亲自测试绝对可以连接.前提是您安装的版本没有问题,如您安装的版本有问题,这个就不能保证能正常连接数据库了.工具/原料数据库连接工具:PLSQL-Developer数据库参数配置文件原创 2016-09-06 11:01:50 · 3861 阅读 · 0 评论 -
MySQL重置root用户密码的方法
本教程经 Windows 7 系统测试成功。 当管理员忘记MySQL密码怎么办?屡次输入密码,仍然提示错误,网站无法正常运行,数据库也无法管理,管理员束手无策。 网站程序或MySQL管理软件连接MySQL服务器时密码错误,会出现“1045 - Access denied for user 'root'@'localhost'(using password:YES)”的错误提示,原创 2016-04-29 10:28:06 · 539 阅读 · 0 评论