数据库-关系型-非关系型
文章平均质量分 83
数据库
master-dragon
weixin:dwl_1270530306
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mysql 主从复制和分库分表
查看是否开启binlogbinlog是二进制日志文件,是由mysql server维护的用于记录mysql的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据),在mysql主从复制中就是依靠的binlog;执行SELECT等不涉及数据更新的语句是不会记binlog的,而涉及到数据更新则会记录。要注意的是,对支持事务的引擎如innodb而言,必须要提交了事务才会记录binlog。binary-log。原创 2025-06-07 08:46:44 · 821 阅读 · 0 评论 -
mysql 页的理解和实际分析
mysql 页原创 2025-06-07 08:33:31 · 1018 阅读 · 0 评论 -
MySQL锁及其分类
Insert Intention Locks意为插入意向锁,插入意向锁是Innodb gap锁的一种类型,这种锁表示要以这样一种方式插入:如果多个事务插入到相同的索引间隙中,如果它们不在间隙中的相同位置插入,则无需等待其他事务。比如说有索引记录4和7,有两个事务想要分别插入5,6,在获取插入行上的独占锁之前,每个锁都使用插入意图锁锁定4和7之间的间隙,但是不要互相阻塞,因为行是不冲突的,意向锁的涉及是为了插入的正确和高效。共享锁支持读完整性。GAP锁的目的,是为了防止同一事务的两次当前读,出现幻读的情况。原创 2025-06-05 23:17:26 · 1105 阅读 · 0 评论 -
MySQL索引概览
数据结构底层决定(严格的按照第一个,第二个,第三个字段一个一个匹配),不符合最左匹配则需要全局扫描了;且最左匹配原则遇到范围查询就停止匹配a int,b int,c int,用到索引 a用到索引 a,b用到索引 a,b,c或者或者索引失效用到索引 a用到索引a和b(b的范围导致未用到c用到索引a,b,c只用索引a只用到索引a用到a,b,c用到索引a,没有用到索引b主键索引:又叫聚簇索引,是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值普通索引:也叫非主键索引,回表,借助主键索引。原创 2018-09-15 15:49:01 · 285 阅读 · 0 评论 -
B/B+树与mysql索引
预读的长度一般为页(page)的整倍数。页是计算机管理存储器的逻辑块,硬件及操作系统往往将主存和磁盘存储区分割为连续的大小相等的块,每个存储块称为一页(在许多操作系统中,页得大小通常为4k) ,主存和磁盘以页为单位交换数据。页是计算机管理存储器的逻辑块,硬件及操作系统往往将主存和磁盘存储区分割为连续的大小相等的块,每个存储块称为一页(在许多操作系统中,页得大小通常为4k) ,主存和磁盘以页为单位交换数据。B树中搜索时,离根节点近的节点找的就快,离根节点远的节点找的就慢,查找数据花费的时间不稳定。原创 2025-03-01 20:30:09 · 833 阅读 · 0 评论 -
mysql mvcc相关知识点
mysql mvcc原理介绍原创 2016-02-24 09:53:30 · 714 阅读 · 0 评论 -
数据库事务的4个特性理解
说到数据库事务的特性 ,应该本能的说出acid这个单词acidadj. 酸的; 酸性的; 酸味的; 尖刻的; n. <化>酸; 酸味物质; 原子性 Atomicity要么做,要么不做。这个例子挺多的,就像二进制0/1 开关一样,要么开,要么关,不存在什么半开。还有类似boolean类型数据,就只有true ,false 。就像誓死如归...原创 2016-02-25 19:21:03 · 11418 阅读 · 1 评论 -
MySQL 四种隔离级别及测试
脏读、幻读、不可重复读脏读 dirty read脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据。不可重复读 nonrepeatable read是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内...原创 2018-05-10 17:19:25 · 2829 阅读 · 0 评论 -
mysql慢sql的实际处理方案之一
当大批量慢sql过来,显然就是占用了线程池的链接,然后长久不释放,所以会出现线程池满的问题,AI搜索可以。将线程池分开,慢sql到专门的线程池,而不影响到正常的sql。基于一些正则匹配历史慢sql。另外还可以加上限流和告警。那么如何识别慢sql呢?基于历史经验的历史sql。可以黑白名单,相互转化。复习mysql架构图。原创 2025-05-31 09:13:21 · 195 阅读 · 0 评论 -
MySQL explain & 有/无索引的区间查找
转载自: https://www.cnblogs.com/phpdragon/p/8231533.html,实践如下MySQL explainhttps://www.cnblogs.com/xuanzhi201111/p/4175635.htmltype表示MySQL在表中找到所需行的方式,又称“访问类型”。常用的类型有: ALL, index, range, ref, eq_...转载 2018-09-21 14:57:57 · 1300 阅读 · 0 评论 -
结合几张mysql表分析常见查询语句以及对多维分析的入门
主要是结合几张mysql表,分析常用的查询和数据处理,以便更好的理解分析,sql语句,以及为多维分析的理解打下基础关于case when附 mysql 表和数据-- 建学生信息表studentcreate table IF NOT EXISTS student(sno varchar(20) CHARACTER SET utf8 not null primary key,sname ...原创 2020-01-11 19:40:48 · 561 阅读 · 0 评论 -
mysql join语句认识和sql练习
sql join预发实践原创 2023-02-25 17:20:42 · 322 阅读 · 0 评论 -
MySql sql查询练习
在业务中,会遇到这样的场景:获取到用户ID列表,需要得到用户的具体信息列表,用户的ID可能是遍历某个列表得到的。会出现如下两种写法 @Test public void testCmp(){ int n = 1000; Long startTime = System.currentTimeMillis(); //获取开始时间 for...原创 2018-10-19 10:23:49 · 1025 阅读 · 0 评论 -
MySQL 优化学习3 -- in语句
实践的mysql 版本如下$ mysql --versionmysql Ver 14.14 Distrib 5.6.40, for macos10.13 (x86_64) using EditLine wrapperin 语句对id主键使用in语句查看(如下对语句2,3)对于语句3,发现查询的类型是range,而非indexmysql&amp;gt; explain select c...原创 2018-10-18 10:35:36 · 421 阅读 · 0 评论 -
MyBatis知识点
学生,课程,成绩三张表mysql> desc test_user;+----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+----------+-------------+--...原创 2018-10-18 22:57:08 · 286 阅读 · 0 评论 -
MySQL 优化学习6 --分库分表?
分库分表 又优点也有缺点,还要根据实际情况而定此文代码和数据表实践github:新增数据操作对比效率1. java代码Junit 测试一次普通mybatis操作,往已有一千万数据的user表新增数据分库分表,新增一条记录2. jmeter 测试开了20个线程普通mybatis操作分库分表,新增一条记录分开测试 ,数字表示jmeter所开的线...原创 2018-10-20 13:58:21 · 339 阅读 · 0 评论 -
mysql master slave 复制原理与实践
mastermysql&amp;gt; show master status -&amp;gt; ;+------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB ...原创 2018-10-23 23:39:57 · 454 阅读 · 0 评论 -
MySQL state variable processlist
如下,查看timeout,connect相关的数据库变量mysql&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; show variables like '%timeout%';+-----------------------------+----------+| Variable_name | Value |+-----------------------------+---转载 2018-11-06 10:27:18 · 366 阅读 · 0 评论 -
redis hash
redis hash菜鸟教程:http://www.runoob.com/redis/redis-hashes.html参考学习:http://redisbook.readthedocs.org/en/latest/datatype/hash.htmlHSET key field value将哈希表 key 中的字段 field 的值设为 value 。HGET原创 2016-03-18 16:26:45 · 666 阅读 · 0 评论 -
redis list
redis列表类型内部是适用 双向列表(double linked list)优点:首尾插入,查找操作是比较快的缺点:在大量元素中查找中间某个元素就会比较慢,因为是通过索引迭代的去查找的适用场景 如:社交网站新鲜事原创 2016-02-24 09:28:49 · 421 阅读 · 0 评论 -
redis set & zset
redis 发布订阅 菜鸟教程:http://www.runoob.com/redis/redis-pub-sub.html参考学习:http://tech.it168.com/a2012/0824/1389/000001389013.shtml原创 2016-03-23 16:23:18 · 502 阅读 · 0 评论 -
lua eval
redis 执行lua脚本http://www.cnblogs.com/yanghuahui/p/3697996.htmlredis 脚本菜鸟教程 http://www.runoob.com/redis/redis-scripting.html原创 2016-03-24 20:11:16 · 1154 阅读 · 0 评论 -
redis 生存时间 expire ttl
为什么redis key需要设置下生存周期具有时效性的数据,比如限时优惠活动,缓存或验证码等,过了一定的时间就需要删除这些数据。redis 采用 expire 设置生存时间,到时间自动删除,ttl 查看剩余时间。下面是redis3.0.7 运行的不设置expire ttl 返回-1表示永久存在设置了expire ttl 会返回剩余时间如果没有该键 直接返回-2原创 2016-02-26 10:03:35 · 7803 阅读 · 2 评论 -
Mysql+Atlas,Redis+Twemproxy
原文学习 http://jinnianshilongnian.iteye.com/blog/2188113ubuntu下 mysql 允许远程访问vim /etc/mysql/my.cnf bind-address=127.0.0.1 改成bind-address=0.0.0.0保存后退出,仍然使用原来的命令登录mysql(root用户,密码:123456), 再为其它用户赋予权限$my转载 2016-08-08 12:30:13 · 470 阅读 · 0 评论 -
数据库中的长连接 和 短连接接
原文地址: http://blog.sina.com.cn/s/blog_6aa3070701014i4l.html概念 * 短连接 连接-》数据传输-》关闭连接; * 长连接 连接-》数据传输-》保持连接-》数据传输-》保持连接-》…………-》关闭连接;这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了。mysql连接超时,默认8个小时转载 2016-10-11 21:25:13 · 2624 阅读 · 0 评论 -
mysql命令 和 基础知识
DDL(Data Definition Languages)语句:数据定义语言,简单说就是对数据库内部的对象进行创建、修改、删除的操作语言。http://blog.163.com/wxiaoch_0904/blog/static/96091031201141331336574/DCL语句主要是DBA用来管理系统中的对象权限时使用。关键字grant(授出)、revoke(收回)用户*的部分权限 ht转载 2016-09-15 16:47:10 · 378 阅读 · 0 评论 -
oracle 数据库
资源下载地址:使用navicat for oracle 连接编写程序验证oracle jdbc连接代码如下:package com.cn;import java.sql.*;public class Test { public static void main(String[] args) { try { // 加载驱动原创 2015-12-29 14:00:04 · 692 阅读 · 0 评论
分享