随笔分类 - database
摘要:为什么要分库分表(个人理解,希望能与大家共勉) 前言 其实分库分表是牵扯到高并发的,因为分库分表无非来说就是为了支撑高并发、数据量大的问题。尤其进入稍微大一点的公司或者互联网公司,这些都是必须掌握! 场景 假如一个新兴公司,刚开始时,注册用户就40W,每天活跃1W,每天单表数据量1000,高峰期每秒
阅读全文
摘要:mysql数据库分表及实现 项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。 当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法
阅读全文
摘要:图解MySQL 内连接、外连接、左连接、右连接、全连接……太多了 用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接、外连接( 左(外)连接、右(外)连接、全(外)连接)。 MySQL版本:Server version:
阅读全文
摘要:mysql中的NULL的判断 mysql> delete from `zhangchao` where x='NULL'; Query OK, 0 rows affected (0.00 sec) mysql> delete from `zhangchao` where x=NULL; Query
阅读全文
摘要:一、重做日志(redo log) 作用: 确保事务的持久性。防止在发生故障的时间点,尚有脏页未写入磁盘,在重启mysql服务的时候,根据redo log进行重做,从而达到事务的持久性这一特性。 二、回滚日志(undo log) 作用: 保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多
阅读全文
摘要:MySQL中表的复制以及大型数据表的备份教程 这篇文章主要介绍了MySQL中表的复制以及大型数据表的备份教程,其中大表备份是采用添加触发器增量备份的方法,需要的朋友可以参考下 表复制 mysql拷贝表操作我们会常常用到,下面就为您详细介绍几种mysql拷贝表的方式,希望对您学习mysql拷贝表方面能
阅读全文
摘要:SQL语句多个字段排序 写在前面的话: 本次迭代,分配的任务有点多啊,好在本妈妈朝10晚6的加班加点。其中一项就是列表展示啊, 展示就展示呗,还要排序。排序也可以,测试时排序字段值为啥都一样啊。结果点一下一个顺序。 就想在第一个字段排序完,是不是可以用第二个字段排序 要求:降序排列 select *
阅读全文
摘要:MySQL 数据类型(float)的注意事项 摘要: 今天左哥问起一个float浮点数类型的问题,这个类型用的不多,所以也不太了解,现在打算测试下。知识点: float:浮点数,单精度,占4字节。测试 从上面看出:默认的float类型都只能存6个数字(包括小数点前后的位数),整数超过6位就被科学计数
阅读全文
摘要:MySQL VARCHAR字段最大长度到底是多少 MySQL VARCHAR字段最大长度到底是多少 MySQL VARCHAR字段最大长度到底是多少 MySQL VARCHAR字段最大长度到底是多少 varchar(n),n表示什么? MySQL5.0.3之前varchar(n)这里的n表示字节数
阅读全文
摘要:设计-Int(4)和Int(11)谁更美 【缘起】 大家平时在进行数据库设计的时候,如果遇到需要存储整数类型的数据的时候,通常会优先使用Int这个整数类型,在处理20亿级别的正负数值存储上,Int类型是完全能够满足日常需求的了。 但是在进行数据库建表语句书写的时候,大家经常会见到Int类型的后面会带
阅读全文
摘要:MySQL数据类型(最大值 和 最小值) 1、整型 取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~255)。 int(m)里的m是表示SELECT查询结果集中的显示宽度,不知道这个m有什么用。 int 占10位,存不了手机号(11位) 2、浮点型
阅读全文
摘要:spring的事务是什么?与数据库的事务是否一样 先说一下什么是事务,事务:是对数据库的一些列操作。 之前一直觉得事务只针对于数据库当中,5种隔离级别,7种传播行为,后来才发现这是针对Spring的,对数据库来说隔离级别只有4种,Spring多了一个DEFAULT 这是一个PlatfromTrans
阅读全文
摘要:数据库锁 因为数据库要解决并发控制问题。在同一时刻,可能会有多个客户端对同一张表进行操作,比如有的在读取该行数据,其他的尝试去删除它。为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念。 锁的分类 从对数据库操作的类型 读锁(共享锁):针对同一块数据,多个读操作可以同时进行而
阅读全文
摘要:关于数据库主键和外键(终于弄懂啦) 一、什么是主键、外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其
阅读全文
摘要:从本地事务到分布式事务到微服务下事务 一、传统本地事务 传统单服务器,单关系型数据库下事务比较简单,完全可用很简单的实现ACID,实际中我们实现一个业务时只需要:开启一个事务-操作数据库-提交/回滚这个事务,这样就完美的实现了一次事务操作,更简单点我们通常会通过spring集成事务直接指定在哪些服务
阅读全文
摘要:索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存)等等。这里记录的优化技巧更适合开发人员,都是从网络上搜集和整理的,主要是查询语句上的优化,其他层面上的优化技巧在此不做记录。 查询的开销指标:执行时间,检查的行数,返回的行数。 建立索引的几个准则:
阅读全文
摘要:一:DISTINCT 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问
阅读全文
摘要:mysql 数据库引擎 一、数据库引擎 数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保
阅读全文
摘要:为什么mysql索引要使用B+树,而不是B树,红黑树 我们在MySQL中的数据一般是放在磁盘中的,读取数据的时候肯定会有访问磁盘的操作,磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动。盘片旋转就是我们市面上所提到的多少转每分钟,而磁盘移动则是在盘片旋转到指定位置以后,移动磁臂后开始进行数据的读
阅读全文