随笔分类 - 数据库
摘要:Hash仅支持=、>、>=、<、<=、between。BTree可以支持like模糊查询 索引是帮助mysql获取数据的数据结构。最常见的索引是Btree索引和Hash索引。 不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的索引是Btree索引;而Mermory默认的索引是Hash索
阅读全文
摘要:转载自:https://blog.csdn.net/w05980598/article/details/79305239 一、概述 在支付、交易、订单等强一致性系统中,我们需要使用分布式事务来保证各个数据库或各个系统之间的数据一致性。 举个简单的例子来描述一下这里数据一致性的含义。 程序员小张向女友
阅读全文
摘要:本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) 。 MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段
阅读全文
摘要:一、什么是主从复制?主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。 二、主从复制的作用1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。2、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法
阅读全文
摘要:一.MySQL Binlog格式介绍 mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 查看binlog的格式的脚本: 二、binlog 的不同模式有什么区别呢? 1.Statement:每一条会修改数据的sql都会记录在binlog中。 优点:不需要记录每
阅读全文
摘要:一、首先给出mysql官方文档给出的不同存储引擎对索引的支持 从上面的图中可以得知,mysql 是支持hash索引的,但支持和不支持又和具体的存储引擎有关系。从图中看到InnoDB是支持Btree索引,这是我们众所周知的。但是不支持hash索引。 但是innoDB存储引擎支持hash索引是自适应的,
阅读全文
摘要:Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大
阅读全文
摘要:1. 下载Mysql的Docker镜像: $ docker search mysql (搜索mysql镜像) $ docker pull mysql (下载mysql镜像,默认最新版本) 2. 运行镜像,设置root账号初始密码(123456),映射本地宿主机端口3306到Docker端口3306。
阅读全文
摘要:MySQL的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用: IF表达式 [sql] view plain copy IF(expr1,expr2,expr3) IF(expr1,expr2,expr3) IF(expr1,expr2,expr3) 如果 expr
阅读全文
摘要:剖析淘宝 TDDL ( TAOBAO DISTRIBUTE DATA LAYER ) 注:原文:http://gao-xianglong.iteye.com/blog/1973591 前言 在开始讲解淘宝的 TDDL(Taobao Distribute Data Layer) 技术之前,请允许笔者先
阅读全文
摘要:foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位
阅读全文
摘要:转自该链接:http://www.cnblogs.com/xrq730/p/8446246.html
阅读全文
摘要:tinyint 从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据。存储大小为 1 个字节。 unsigned 是从 0 到 255 的整型数据。 所以建表的时候 只能是tinyint(3),哪怕你建tinyint(100),他最大还是3位这么多。 smallint 从 -2^1
阅读全文
摘要:在查看数据的连接情况很有用,写完程序一边测试代码一边查看数据库连接的释放情况有助于分析优化出一个健壮的系统程序来。 1、查看当前的数据库连接数 select count(*) from v$process ; --当前的数据库连接数 2、数据库允许的最大连接数 select value from v
阅读全文
摘要:动机: 想在Oracle中用一条SQL语句直接进行Insert/Update的操作。 说明: 在进行SQL语句编写时,我们经常会遇到大量的同时进行Insert/Update的语句 ,也就是说当存在记录时,就更新(Update),不存在数据时,就插入(Insert)。 实战: 接下来我们有一个任务,有
阅读全文
摘要:第一步,自身的业务场景: 第一步,自身的业务场景: 在我日常做的项目中,目前涉及了以下这些业务场景: 场景一: 比如分配任务场景。在这个场景中,由于是公司的业务后台系统,主要是用于审核人员的审核工作,并发量并不是很高,而且任务的分配规则设计成了通过审核人员每次主动的请求拉取,然后服务端从任务池中随机
阅读全文
摘要:数据库设计四种主要设计模式的一般使用原则 1.主扩展模式 主扩展模式通常用来将几个相似的对象的共有属性抽取出来,形成一个”公共属性表“,且“公共属性表”与“专有属性表”是“一对一”的关系。 “专有属性表”可以看做是“公共属性表”的 扩展,两者合在一起就是对一个特定对象的完整描述,故此得名“主扩展模式
阅读全文
摘要:MySQL索引优化分析 为什么你写的sql查询慢?为什么你建的索引常失效?通过本章内容,你将学会MySQL性能下降的原因,索引的简介,索引创建的原则,explain命令的使用,以及explain输出字段的意义。助你了解索引,分析索引,使用索引,从而写出更高性能的sql语句。还在等啥子?撸起袖子就是干
阅读全文
摘要:最近使用hibernate保存数据的时候,没有使用id自增主键,而是使用了一种调用seq以后手动赋值的方式生成主键,然后使用saveorupdate()报错。上网查看终于知道了问题所在,记录一下: 在单主键情况,save()和saveorupdate()到底有啥区别:如果持久对象使用了自增长的单主键
阅读全文
摘要:1. update 和 merge的区别 首先在执行更新操作的时候,两者都必须要有id update是直接执行update 语句,执行后状态为持久化状态 而merge则不一样: 1. 如果session中有与之对应的对象,也就是主键相同,则会把要保存的obj的值copy给session中的对象,然后
阅读全文