
mysql有关
文章平均质量分 72
qq_31459039
越努力越幸运
展开
-
通过父级id查询子类下所有的id
表结构:CREATE TABLE `dy_category_manage` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '1班会课 2教学师训 3 德育师训 4 问题手册 ', `category_name` varchar(20) CHARACTER SET utf8 NOT NULL COMMENT '分.原创 2020-09-29 18:35:36 · 996 阅读 · 0 评论 -
mybatis批量更新/插入数据
探讨批量更新数据三种写法的效率问题。实现方式有三种,1> 用for循环通过循环传过来的参数集合,循环出N条sql,2> 用mysql的case when 条件判断变相的进行批量更新(推荐使用)3> 用ON DUPLICATE KEY UPDATE进行批量更新注意第一种方法要想成功,需要在db链接url后面带一个参数 &allowMultiQueries=true即:jdbc:mysql://localhost:3306/mysqlTest?chara....转载 2020-09-28 11:43:17 · 8997 阅读 · 0 评论 -
mac安装mysql遇到的坑
https://downloads.mysql.com/archives/community/官网下载地址 版本和mac系统版本对应,否则会出些稀奇古怪问题,再此记录血的教训 官网下载 mysql-5.7.15-osx10.11-x86_64.dmg MySQL 5.7.15 官网下载有点慢,于是下完后放到百度网盘了。 https://pan.baidu.com/s/1o7UUi4y <注:dmg安装方式,新版本的安装包内,只有一个...原创 2020-05-11 23:08:51 · 1145 阅读 · 0 评论 -
MySQL InnoDB数据表缺少主键会怎样
InnoDB索引MySQL数据表使用InnoDB作为存储引擎的时候,数据结构就是使用B+树,而表的所有数据存储在主键索引上,也就是通常所说的聚簇索引,也就是每个表都需要有个聚簇索引树,对于InnoDB,主键对应的索引就是聚簇索引,表的所有数据都存储在聚簇索引上,而除了聚簇索引的普通索引存储的只是主键的引用,所以,查询的时候对于普通索引需要进行回表才能取到具体数据。缺少主键MySQL如何处理...转载 2020-03-26 17:58:15 · 2962 阅读 · 3 评论 -
MySQL 用 limit 分页为什么会影响性能?
我们看一下select * from test where val=4 limit 300000,5;的查询过程(id为自增主键,val为非唯一索引):当limit offset rows中的offset很大时,会出现效率问题 limit 300000,5的意思扫描满足条件的300005行,扔掉前面的300000行,返回最后的5行, 首先查询到索引叶子节点数据(主键值id,val ...转载 2019-11-29 23:55:33 · 1029 阅读 · 1 评论 -
MySQL存储引擎MyISAM和InnoDB底层索引结构
原文:https://blog.youkuaiyun.com/u010922732/article/details/829942531. role表有三个文件,对应如下:role.frm:表结构文件role.MYD:数据文件(MyISAM Data)role.MYI:索引文件(MyISAM Index)2. user表有两个文件,对应如下:user.frm:表结构文件user.ib...转载 2019-07-03 15:50:47 · 228 阅读 · 0 评论 -
深入理解MySQL索引底层数据结构与算法
原文:https://blog.youkuaiyun.com/u010922732/article/details/82992920二叉树每个节点最多只有两个子节点B-tree定义: 根节点至少包括两个孩子 树中每个节点最多含有m个孩子(m>=2) 除根节点和叶节点外,其他节点至少有ceil(m/2)个孩子 所有叶子节点都在同一层联合索引...转载 2019-05-28 14:48:18 · 164 阅读 · 0 评论 -
MySQL中MyISAM与InnoDB区别及选择
MyISAM:设计目标是快速读取不支持事务,对一个包含外键的InnoDB表转为MYISAM会失败;回滚将造成不完全回滚,不具有原子性不支持外键不支持外键支持全文搜索只支持表级锁不支持故障恢复(也可以理解为和数据库事务相关的)用一个变量保存了整个表的行数,不带where时,直接返回保存的行数,如果带where条件的行数也需要扫描整个表MyISAM 表被存放在三个文件 。frm 文...转载 2019-05-05 15:26:46 · 168 阅读 · 0 评论 -
MySQL中的insert ignore into, replace into等的一些用法
CREATE TABLE `books` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(200) NOT NULL, `createTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`), ...原创 2018-12-04 18:14:52 · 2052 阅读 · 0 评论 -
MySQL之日期时间处理函数+常用函数
以下基本包含MySQL所有日期时间函数一般使用 now() CURRENT_TIMESTAMP(); CURRENT_DATE() CURRENT_TIME() DATE_FORMAT UNIX_TIMESTAMP FROM_UNIXTIME-- MySQL日期时间处理函数-- 当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报)SELECT NOW() FR...转载 2018-03-28 17:23:25 · 697 阅读 · 0 评论 -
MySQL数据类型
拓展 :查看表的大小,从而能知道数据类型的最优化---- information_schema数据库,这个数据库中装的是mysql的元数据,包括数据库信息、数据库中表的信息等。所以要想查询数据库占用磁盘的空间大小可以通过对information_schema数据库进行操作1> use information_schema;-- 如果想看指定数据库中的数据表,可以用如下语句:se...转载 2018-03-25 22:50:16 · 286 阅读 · 0 评论 -
Windows下,MySql使用binlog恢复表和数据初级教程
首先开启binlog日志的功能 进到这个目录 D:\worksoft\mysql\my.ini在my.ini的[mysqld]下面添加一行 log-bin = mysql-bin ,然后重启mysql服务,就可以了。如下图:[mysqld]# log-binlog-bin=D:/worksoft/mysql/log/mysqlbin一、新建一张测试表test并插入数据...转载 2019-07-26 17:42:25 · 2012 阅读 · 1 评论 -
Mysql删除数据后,磁盘空间未释放的解决办法
起因:公司的服务器上添加了硬盘监控,收到报警后,确认是mysql的文件占用空间比较大。于是,确认是哪个表占空间比较大后,删除了部分数据(注:数据库数据为线下分析使用,非线上数据,可以删除),但服务器硬盘空间并没有释放掉,报警仍旧存在。原因及解决办法:使用delete删除的时候,mysql并没有把数据文件删除,而是将数据文件的标识位删除,没有整理文件,因此不会彻底释放空间。被删除的数据将...转载 2019-07-26 11:05:19 · 7716 阅读 · 0 评论 -
mysql varchar(100)可以存储多少个汉字,多少个数字 bigint(20)
varchar(100)存储多少个汉字,多少个数字具体还是要看版本的4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个(字符串类型这个宽度才真的用上了),VARCHAR(M)类型的列最...原创 2019-07-03 15:04:37 · 3772 阅读 · 0 评论 -
MySQL详解--锁(脏读 不可重复读 幻读)
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。本章我们着重讨论MySQL锁机制的特点,常见的锁问题,以及解决MySQL...转载 2017-10-19 13:13:02 · 929 阅读 · 1 评论