• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

竹千代

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

随笔分类 -  数据库

特殊场景Sql优化
摘要:一、大表的大数据量修改 问题: 1、大量的行级锁,长时间阻塞 2、主从延时,大批数据不一致 解决方法: 分批次修改 二、大表的表结构修改 问题:长时间锁表 解决方法: 1、从库修改,主从切换,主库修改 (主从切换有风险) 2、建新表; 旧表数据导入到新表;旧表加触发器把新数据同步到新表;旧表加排他锁 阅读全文

posted @ 2017-07-20 08:23 竹千代 阅读(281) 评论(0) 推荐(0)

Mysql高可用
摘要:一、二进制日志 二进制日志,记录所有对库的修改,如update、修改表结构等等 需要开启二进制日志的原因: 1、主从复制都是通过二进制日志进行。主库写二进制日志,传输到从库,从库replay二进制日志 2、发现异常操作需要回退, 又没有合适的备份时候,可以通过分析二进制日志来逆向操作 二、数据备份 阅读全文

posted @ 2017-07-19 08:08 竹千代 阅读(137) 评论(0) 推荐(0)

Mysql基准测试
摘要:1、重点指标 阅读全文

posted @ 2017-07-11 08:09 竹千代 阅读(107) 评论(0) 推荐(0)

Innodb引擎简介
摘要:一、锁 二、什么情况出现阻塞 1、频繁更改的表,出现了慢查询 2、频繁访问的表,出现了备份等(表级锁) 三、查看运行情况 四、关键参数 innodb_buffer_pool_size: 缓存区大小,既缓存索引,又缓存数据; 应尽可能大,最大=总内存-(每个线程需要内存*连接数) - 系统保留内存 阅读全文

posted @ 2017-07-11 07:32 竹千代 阅读(113) 评论(0) 推荐(0)

高性能Mysql
摘要:吞吐量(单位时间内多少次查询) MTBF(平均失效时间) MTTR(平均恢复时间) 1、profile剖析,用pt-query-digest为工具 2、慢查询日志 1、库表结构 2、索引 3、查询语句 1、主从复制(增加读负载) 2、按业务划分 3、分片(增加写负载) 阅读全文

posted @ 2016-04-19 21:13 竹千代 阅读(132) 评论(0) 推荐(0)

索引的原理
摘要:http://blog.jobbole.com/24006/ 数据库用作索引的数据结构B+树有几个特点: 1、每个节点比较大,包含了很多个键值;每个节点子节点很多,总体而言的目的都是为了降低读取节点的次数(降低io时间) 2、同一高度的节点之间,建立横向的指针。这样便于做 >5&&<10 这样的区间 阅读全文

posted @ 2016-03-29 12:51 竹千代 阅读(121) 评论(0) 推荐(0)

数字主键
摘要:单列的数字主键一般有三种:一、自增主键如果是用多个数据库时候,可以调整数据库自增主键的起始值以及step大小。pro: 简单实现;可以代表插入时间早晚;con:必须实际插入后才能拿到主键数,从而导致效率低;用多个数据库后,无法保证数据库间的数据有序二、uuidpro:全时空唯一,撞车概率很低很低;加... 阅读全文

posted @ 2015-11-23 18:37 竹千代 阅读(297) 评论(0) 推荐(0)

sql面向过程用法
摘要:sql可以看成是面向过程的编程语言。该语言中,有string、date、table这样的类型等等一、操作表sql相当于一个函数,输入是两个或多个表(A, B, ...)求集合:并集 union/union all交集 inner join差集 exceot/except allA+交集 ... 阅读全文

posted @ 2015-10-27 18:20 竹千代 阅读(549) 评论(0) 推荐(0)

sql优化
摘要:sql优化最重要的一点就是要建立合适的索引,据说50%以上的效率问题都是通过这个方法解决。引用国内一位资深的ORACLE专家的话:"我其实只懂点(挨踢)知识,IT里面其实只懂点甲骨文,甲骨文里面其实只懂点数据库,数据库里面其实只懂点SQL,SQL里面其实只懂点索引"sql优化思路:一、从设计上贴近业... 阅读全文

posted @ 2015-09-24 15:22 竹千代 阅读(131) 评论(0) 推荐(0)

数据库设计
摘要:数据库的设计过程很像程序设计过程,分 需求分析、逻辑设计、物理设计、具体实现四步其中,需求分析和逻辑设计是通用的,而物理设计、实现是跟具体使用的数据库相关。一、需求分析 不细说二、逻辑设计 主要包括 E-R模型图 -〉 表 -〉 范式化 如何画E-R模型图? 1、找出全部实体和属性(名词表示... 阅读全文

posted @ 2015-09-23 11:51 竹千代 阅读(191) 评论(0) 推荐(0)

sql思维
摘要:写sql的思路不同于常规编程语言(C、python)等等。前者,考虑如何一步步地得到最终答案;后者,考虑如何一步步地收缩数据范围。简而言之,前者是面向过程化(for each row do x),后者是面向集合(do all -> another all)。具体来讲,写sql从两种角度考虑:一、集合... 阅读全文

posted @ 2015-09-22 16:07 竹千代 阅读(464) 评论(0) 推荐(0)

 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3