数据库
MC-闰土
程序员到最后拼的是文化!
展开
-
数据库的锁机制
在并发访问情况下,可能会出现脏读、不可重复读和幻读等读现象,为了应对这些问题,主流数据库都提供了锁机制,并引入了事务隔离级别的概念。并发控制在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正由并发操作导致的错误的一种机制。数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔...转载 2018-04-25 10:14:18 · 232434 阅读 · 0 评论 -
MySQL中的共享锁与排他锁
行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁及排他锁的概念、使用方式及注意事项等。共享锁(Share Lock)共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有共享锁。如果事务T对数据A加上共享锁后,则其他事务只能对A再...转载 2018-04-25 10:10:09 · 232697 阅读 · 0 评论 -
MySQL中的行级锁,表级锁,页级锁
在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(INNODB引擎)、表级锁(MYISAM引擎)和页级锁(BDB引擎 )。行级锁行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁 和...转载 2018-04-25 10:12:51 · 284483 阅读 · 0 评论 -
我理解的通俗的数据库三范式
1NF:原子性,即字段不可以再分。2NF:唯一性,不可以把多种数据保存在同一张表中,即一张表只能保存“一种”数据。不符合第二范式的表:学号, 姓名, 年龄, 课程名称, 成绩, 学分; (部分依赖)可能会存在问题:数据冗余,每条记录都含有相同信息; 删除异常:删除所有学生成绩,就把课程信息全删除了; 插入异常:学生未选课,无法记录进数据库; 更新异常:调整课程学分,所有行都调整。 正确做法: 学生...原创 2018-04-27 15:07:07 · 283768 阅读 · 1 评论 -
MySQL 优化原理
MySQL逻辑架构如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。 MySQL逻辑架构,来自:高性能MySQLMySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(比...原创 2018-05-28 22:42:31 · 284401 阅读 · 0 评论 -
数据库查询优化:使用explain分析sql语句执行效率
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。Explain语法:explain select … from … [where …]例如:explain select * from news;输出:+----+--------...原创 2018-06-05 16:56:34 · 296192 阅读 · 0 评论 -
你的Spring事务为什么不会自动回滚?
Spring的事务传播行为有七种,当前我说的是默认的那种。我们知道Spring的声明式事务是基于AOP的,那么就是AOP玩的又是代理对象,那你是不是就知道了,这个事务的大概实现原理了。。。首先我们要明确RuntimeException与Exception之间的关系与他们分别的含义:1.在Java中异常的基类为Throwable,他有两个子类Exception与Errors,同时Runt...原创 2018-10-24 22:48:22 · 287506 阅读 · 3 评论 -
针对Mysql的CentOS系统参数主要调优
内核相关参数(/etc/sysctl.conf)# 以下参数可以直接放到sysctl.conf文件的末尾net.core.somaxconn = 65535net.core.netdev_max_backlog = 65535net.ipv4.tcp_max_syn_backlog = 65535# 加快TCP连接的回收:net.ipv4.tcp_fin_timeout = 1...转载 2019-05-28 14:59:35 · 274666 阅读 · 0 评论