
数据库
文章平均质量分 50
guaoran
java 软件开发
展开
-
MySQL 通过存储过程生成带有随机姓名的百万条测试数据
建表语句CREATE TABLE `users` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(256) DEFAULT NULL, PRIMARY KEY (`id`), KEY `name` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;存储过程DELIMITER $$DROP PROCEDURE IF EXISTS `batch_insert`$$CREA原创 2020-08-30 09:58:05 · 1615 阅读 · 3 评论 -
MySQL 的常用优化配置
mysql 优化SQL优化服务器优化连接——配置优化优化器——SQL 语句分析与优化SHOW PROCESSLISTmysql 优化SQL优化MySQL 的查询缓存、执行计划 和 开启慢查询MySQL 5.7 索引原理 和 存储引擎 及 NULL 和 空值问题服务器优化MySQL 基于 binlog 的主从复制连接——配置优化从服务端来说,我们可以增加服务端的可用连接数。show variables like ‘max_connections’; – 修改最大连接数,当有多个应用原创 2020-08-29 15:39:53 · 270 阅读 · 0 评论 -
MySQL 的查询缓存、执行计划 和 开启慢查询
MySQL 的查询缓存工作原理缓存SELECT操作的结果集和SQL语句;新的SELECT语句,先去查询缓存,判断是否存在可用的记录集触发缓存与缓存的SQL语句,是否完全一样,区分大小写简单认为存储了一个key-value结构,key为sql,value为sql查询结果集缓存配置参数show variables like 'query_cache%';query_cache_type:0 -– 不启用查询缓存,默认值;1 -– 启用查询缓存,只要符合查询缓存的要求,客户端原创 2020-08-29 14:29:03 · 516 阅读 · 0 评论 -
MySQL 5.7 索引原理 和 存储引擎 及 NULL 和 空值问题
存储引擎是第三方提供的,可插拔式的插件。索引机制也便是有插拔式的存储引擎进行实现。索引是什么索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构为什么选择的是B+二叉查找树 Binary Search Tree可以看出当我们插入一个有序的数值时,树的深度就比较长(右子节点),时间复杂度比较差O(n)平衡二叉查找树 AVL Trees平衡二叉树又叫相对平衡树,高度差不会超过1该方式在一定程度上解决了顺序插入时,树的深度的问题, 但是当数据量比较大的时候,这种问题也是会存在的。原创 2020-08-29 14:16:58 · 1262 阅读 · 0 评论 -
Mysq 的 Redo Log 、Undo Log、 Bin Log 原理
InnoDB 的 redo Log 和 刷盘InnoDB 的数据都是存储在磁盘上, 每次读取数据都需要从磁盘加载, 为了提高IO速度,引入缓冲池(Buffer Pool),就是把磁盘上的数据(页)放到缓冲池中。下次读取相同的页会判断是不是在缓冲池中, 如果是就直接读取。修改数据的时候,会先修改缓冲池里面的页。 缓冲池的数据(页)跟磁盘不一致时(即脏页),后台线程会将缓冲池的数据写入到磁盘中(即刷脏)如果 Buffer Pool 里面的脏页还没有刷入磁盘时,数据库宕机或重启,数据将会丢失或不可用。为原创 2020-08-29 13:16:38 · 131 阅读 · 0 评论 -
MySQL 基于 binlog 的主从复制
Master连接MySQL 并创建主从复制的用户create user masterSync;给新建用户赋权GRANT REPLICATION SLAVE,FILE ON *.* TO 'masterSync'@'%' IDENTIFIED BY 'masterSync';指定服务ID,开启binlog日志记录,在 /etc/my.cnf 中加入如下配置[mysqld]# 通常设置为ipserver-id=135# 记录到 mysql-bin 文件中log-bin=mys原创 2020-08-29 13:11:59 · 360 阅读 · 0 评论 -
centos7 安装mysql 多实例
参考文档centos7 安装mysql 5.7多实例单台linux部署多个mysql实例实战以前文章centos7 安装 MySQL数据库 及 MySQL 存储表情安装多实例mkdir /guaoran/mysql/data/mysql1mkdir /guaoran/mysql/data/mysql2mkdir -pv /guaoran/mysql/data/log/mysql1mkdir -pv /guaoran/mysql/data/log/mysql2echo 'export P原创 2020-08-29 13:08:26 · 169 阅读 · 0 评论 -
centos7 安装 MySQL数据库 及 MySQL 存储表情
linux 安装 mysql mysql 存储表情mysql 远程连接出现Error 1130问题原创 2020-08-29 13:03:58 · 228 阅读 · 0 评论 -
利用start with connect by 查询子节点和父节点数据显示为树状形
利用start with connect by 查询子节点和父节点数据显示为树状形前段时间做了一个根据子节点和父节点查询出树状型表数据:要实现的结果:实现的sql:select rpad('---', (level - 1) * 3, '---') || name as name, id from t_nscreen_region start ...原创 2016-10-25 09:27:11 · 5944 阅读 · 0 评论 -
mongodb 分片集群配置
最近使用MongoDB,对分片功能服务搭建,再此 记录下一些流程。该文档对应着MongoDB4.0.0版。 希望能对初搭者有些帮助。一、下载MongoDB下载linux版的MongoDB https://www.mongodb.com/download-center?jmp=nav#community、 解压到/guaoran/mongodb/mongodb-4.0.0目录中(本人目录)...原创 2018-07-24 14:08:38 · 5302 阅读 · 0 评论 -
Oracle wm_concat函数 转换成MySQL的函数
Oracle wm_concat函数 转换成MySQL的函数 (勿喷,只为自己以后复习)之前在一个项目中用Oracle数据库,其中有段sql是这样的:select wm_concat('"' || d.name || '":"' || d.code || '"') as resvalue, d.type_code from parm_data d left j...原创 2016-10-25 09:54:18 · 2411 阅读 · 1 评论 -
MySQL 事务的原理、锁和MVCC 的实现原理
当要保证一个事务前后读取两次数据的结果一致,有两个方案* LBCC (Lock Base Concurrency Control) 锁的并发控制* MVCC (Multi Version Concurrency Control) 多版本并发控制普通的 select 采用快照读,底层采用 MVCC 来实现加锁的 select 采用当前读,底层采用LBCC 来实现锁分为 共享锁(读锁)、排它锁(写锁)、意向共享锁、意向排它锁、记录锁、间隙锁、临键锁、自增锁原创 2019-03-26 10:17:33 · 324 阅读 · 0 评论