数据库
雨润泽林
最好的学习方法是分享
展开
-
mysql创建100w的数据
创建t_user表:CREATE TABLE `t_user` (`id` BIGINT NOT NULL AUTO_INCREMENT,`user_id` VARCHAR ( 64 ) NOT NULL DEFAULT '',`name` VARCHAR ( 64 ) NOT NULL DEFAULT '',`create_time` datetime NOT NULL,PRIMARY KEY ( `id` ) ) ENGINE = INNODB DEFAULT CHARSET = utf8原创 2021-05-25 20:08:15 · 294 阅读 · 0 评论 -
为什么数据库表设计中,禁止使用外键?
1.性能影响 为了保证数据的完整性,数据库需要对表进行插入、更新、删除操作,并且要检查数据的一致性,从而保证数据的一致性,但是在高并发的情况下,对性能的影响还是很大的。2.热更新 什么是热更新?是指服务器在不停机的情况下,进行更新功能。如果我们使用物理外键,我们新上线的功能代码无法运行,因为需要去匹配新的外键,需要去重启服务器,从而达不到热更新的目的。3.数据库分库分表 在大型项目中,我们可能会对数据库进行分库分表,如果我们使用了外键,我们难以对数据库进行分库分表,假设我们有两张表:用户表、原创 2021-04-12 23:45:29 · 1386 阅读 · 0 评论 -
Mysql 数据库索引学习总结
该篇只是针对一个视频的学习后的总结,内容不是非常的全面,不过也可以让我们拾起一些记忆。本篇主要围绕以下几个问题来说明:1、什么是索引?2、索引的作用与本质?3、索引都有哪些算法?4、Mysql中索引是如何存储的?5、为什么普通索引中的叶子节点中只存储id和name?什么是索引? 索引是帮助快速检索出数据的数据结构。举个例子:你去图书馆找书,首先会根据目录去找到对应的书架,然后找到你想要的那本书。如果没有目录,图书馆的书有成千上万,你需要一本一本的找,岂不是把人给累死,所以这就是索引的好处。原创 2021-03-14 23:10:29 · 207 阅读 · 0 评论 -
mysql explain字段意思解释
mysql explain字段意思解释explain包含id、select_type、table、type、possible_keys、key、key_len、ref、rows、extra字段idid列的编号是select的序列号,有几个select就有几个id,并且id的顺序是按select出现的顺序增长的。select_typese...原创 2018-11-27 19:52:00 · 306 阅读 · 0 评论 -
MySQL not in 优化方案
MySQL not in 优化方案原sql如下:select idfrom Awhere id not in ( select id from B where name = 'zhangsan' );优化后sql:select A.idfrom A left join ( select id from B where name = 'zhangsan' ) B on A.id = B.idwhere B.id is null;...原创 2021-02-06 11:27:07 · 6943 阅读 · 1 评论 -
如何使用命令导出mysql数据
简单,如下命令:mysql -h1.0.0.0 -proot -uroot -e"select * from dual;" >/tmp/test.xls如果上面这个不行,用下面这个:echo "select * from dual;" mysql -h1.0.0.1 -proot -uroot > /tmp/test.xls原创 2020-07-20 16:11:03 · 169 阅读 · 0 评论 -
深入浅出Mysql-InnoDB锁算法
Record Lock 行锁,总是会去锁住索引记录,如果InnoDB存储引擎表在建立的时候没有设置任何一个索引,那么这时InnoDB存储引擎会使用隐式的主键来进行锁定Gap Lock 间隙锁,锁定一个范围,但不包含记录本身(⚠️注意间隙锁只会存在隔离级别REPEATABLE-READ),如下表中,当锁定id=3,Gap Lock会锁定(1,3),(3,5);idab12a34b56c78dNext-Key Lock 临键锁,即Ga原创 2020-05-22 00:14:13 · 355 阅读 · 0 评论 -
什么是组合索引?在哪些场景中,组合索引会失效?
什么是组合索引? 给多个字段一个索引叫组合索引。问题:在哪些场景中,组合索引会失效?场景:数据表:job_status_trace_log【说明:id是主键】数据量:35w创建索引:ALTER table job_status_trace_log add INDEX creation_time_index(creation_time,job_name,source)例子:组合索引...原创 2020-02-17 01:20:13 · 18582 阅读 · 10 评论 -
诡异!高并发场景下,事务已提交,数据却丢了?
场景:数据库是mysql,存储引擎是InnoDB可以先了解一下什么是redo log、undo log和binlog? InnoDB事务日志包括redo log和undo log。 redo log是重做日志文件,用于记录事务操作的变化,,记录的是数据修改之后的值,不管事务是否提交都会记录下来。在数据库奔溃时,还没有来得及将数据页刷盘,数据库重启时...原创 2019-10-14 23:19:27 · 1667 阅读 · 1 评论 -
mysql使用utf8mb4经验吐血总结
mysql使用utf8mb4经验吐血总结1. utf8 与 utf8mb4 异同先看 官方手册 https://dev.mysql.com/doc/refman/5.6/en/charset-unicode-utf8mb4.html 的说明:The character set named utf8 uses a maximum of three bytes per character an...转载 2019-09-26 15:09:02 · 112491 阅读 · 5 评论 -
oracle 分析函数
Oracle开发专题之:分析函数(OVER) 1Oracle开发专题之:分析函数2(Rank,Dense_rank, row_number) 6Oracle开发专题之:分析函数3(Top/BottomN、First/Last、NTile) 10Oracle开发专题之:窗口函数... 14Oracle开发专题之:报表函数... 20Oracle开发专题之:分析函数总结... 22转载 2016-07-01 17:06:12 · 1244 阅读 · 0 评论 -
Oracle分析函数
本文讲述Oracle分析函数用法,首先建库:Sql代码 create table earnings -- 打工赚钱表 ( earnmonth varchar2(6), -- 打工月份 area varchar2(20), -- 打工地区 sno varchar2(10), -- 打工者编号 sname varchar2转载 2016-07-01 17:07:20 · 311 阅读 · 0 评论 -
sql常用函数instr()和substr()
在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。其语法为:instr(sourceString,destString,start,appearPosition). instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')其中sourceString代表源字符串;destString代表想聪源字符串中查找原创 2016-04-24 14:41:17 · 3132 阅读 · 0 评论 -
union的使用
需求:把员工全部显示在积分排名里面;select m.id, m.empId, m.orgId, m.eveName, m.czSocre, m.czType, m.optDate, m.optType, m.operPerson, m.checkPerson, m.jktypeid, m.jktypename, m.isprint, m.creatTime,m.remar原创 2016-04-24 14:35:33 · 421 阅读 · 0 评论 -
Mysql——分组排序加序列号
CREATE TABLE IF NOT EXISTS `employee` ( `empid` int(11) DEFAULT NULL, `deptid` int(11) DEFAULT NULL, `salary` decimal(10,2) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `employ原创 2016-04-24 14:26:07 · 3487 阅读 · 1 评论 -
oracle case when 用法
1. CASE WHEN 表达式有两种形式--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END原创 2016-05-05 15:47:34 · 619 阅读 · 0 评论 -
Jedis初理解
在实际的项目开发中,各种语言是使用Redis的客户端库来与Redis交互。针对Java语言,Redis官方推荐Jedis。Jedis提供了多种操作方式:单机单连接方式、单机连接池方式、多机分布式+连接池方式。所需的jar包:jedis-2.5.2commons-pool2-2.2.jar使用单连接此方式仅建议用于开发环境做调试用。原创 2016-05-05 15:24:02 · 298 阅读 · 0 评论 -
oracle 查询十分钟之前的数据
<![CDATA[ select count(1) from t_push_message t where t.server_name=#{serverName,jdbcType=VARCHAR} and t.msg_status=#{msgStatus,jdbcType=VARCHAR} and t.create_tm < sysdate-10/1原创 2016-04-27 10:11:18 · 19733 阅读 · 5 评论