由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。 举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键 ...
分类:
数据库 时间:
2016-06-19 01:16:54
阅读次数:
234
该文会通过一个实际例子中的死锁问题的解决过程,进一步解释innodb的行锁机制 最近,在项目开发过程中,碰到了数据库死锁问题,在解决问题的过程中,笔者对MySQL InnoDB引擎锁机制的理解逐步加深。 案例如下: 在使用Show innodb status检查引擎状态时,发现了死锁问题: *** ...
分类:
数据库 时间:
2016-06-19 01:15:17
阅读次数:
191
MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。因此,我们首先要在系统中源码编译安装cmake工具。 注:安装前须查看是否已经安装了如下依赖包,如果没有请安装。 apt-get -y install gcc g++ libncurses5 ...
分类:
数据库 时间:
2016-06-19 01:15:03
阅读次数:
270
1 死锁问题背景 1 1.1 一个不可思议的死锁 1 1.1.1 初步分析 3 1.2 如何阅读死锁日志 3 2 死锁原因深入剖析 4 2.1 Delete操作的加锁逻辑 4 2.2 死锁预防策略 5 2.3 剖析死锁的成因 6 3 总结 7 死锁问题背景 死锁问题背景 做MySQL代码的深入分析也 ...
分类:
数据库 时间:
2016-06-19 01:15:38
阅读次数:
215
创建水平分布式数据库,需要分两步实现:划分子集和对子集进行并集操作。分布式数据库的优势是:IO分散,便于快速读取数据,劣势是消耗大量的网络带宽资源。 划分子集是将原始表水平切分成若干个较小的成员表,每一个成员表都是全集的一个划分(各子集的并集是全集,其交集是空集)。每个成员表包含与原始表相同数量的列 ...
分类:
数据库 时间:
2016-06-19 01:13:11
阅读次数:
386
背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到 ...
分类:
数据库 时间:
2016-06-19 01:10:14
阅读次数:
272
最近看了一下KIGG框架,发现在用EF + MYSQL数据库时,数据出现了乱码,用工具(Navicat )查看一下表category的结构发现 KIGG 数据库的默认情况是用latin1编码的(DEFAULT CHARSET=latin1), 如下: CREATE TABLE `category` ...
分类:
数据库 时间:
2016-06-19 01:09:59
阅读次数:
264
现象: 原因: 在测试环境是有EntityFramework.SqlServer.dll 而部署的时候,这个dll没有被放到部署的bin文件夹中。 解决: 从测试环境的obj的文件夹下拷贝到部署所在的bin目录下。 ...
分类:
数据库 时间:
2016-06-19 01:08:50
阅读次数:
227
1、什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点。 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约束没有被破坏 持久性:事务的提交结果,将持久保存在数据库中 2、事务并发会产生什么问题 1)第一类丢 ...
分类:
数据库 时间:
2016-06-18 23:59:42
阅读次数:
506
14.5 SQL 总结 到目前为止,我们在Python示例程序中使用了SQL,并且涉及了许多SQL基础。在这一小节中,我们特别审视SQL语言,并对其语法进行回顾。 虽然有很多不同的数据库供应商,但因SQL语言是标准化的,所以我们可以在不同的数据库系统中方便地移植。 一个关系数据库是由表、行和列构成的 ...
分类:
数据库 时间:
2016-06-18 23:55:16
阅读次数:
271
Select into Insert into … select … from Identity 自增长标识 Rank 获取排序的序号 Case Procedure 存储过程 Trigger 触发器 游标cursor /fetch 函数 ...
分类:
数据库 时间:
2016-06-18 23:53:59
阅读次数:
269
C# Code 1 2 3 4 5 6 7 8 9 10 ... ...
分类:
数据库 时间:
2016-06-18 23:47:38
阅读次数:
309
本文非原创 它主要用来简化SQL表达式,在任何允许使用表达式的地方均可使用, 根据条件的不同返回不同的值。 注意:它不能单独执行,只能作为语句的一部分使用, 分为简单 case 表达式和搜索 case 表达式。 1.简单 case 表达式: 它是一个测试表达式与一组简单表达式进行比较,如果和某一个值 ...
分类:
数据库 时间:
2016-06-18 23:41:25
阅读次数:
215
数据库复习⑦ 2016年6月18日 20:03 Main DDL & DML & Views 数据定义语言、数据操纵语言、视图 DDL数据定义语言 1.声明一个关系表和删除一个关系表 Simplest form is: CREATE TABLE <name> ( <list of elements> ...
分类:
数据库 时间:
2016-06-18 22:35:13
阅读次数:
284
Spring提供了对事务的声明式事务管理,只需要在配置文件中做一些配置,即可把操作纳入到事务管理当中,解除了和代码的耦合。 Spring声明式事务管理,核心实现就是基于Aop。 Spring声明式事务管理是粗粒度的事务控制,只能给整个方法应用事务,不可以对方法的某几行应用事务。 Spring声明式事 ...
分类:
数据库 时间:
2016-06-18 22:37:24
阅读次数:
331
RDS MySQL 全文检索相关问题 1. RDS MySQL 对全文检索的支持 2. RDS MySQL 全文检索相关参数 3. RDS MySQL 全文检索中文支持 3.1 MyISAM 引擎表 3.2 InnoDB 引擎表 4. like '%xxx%' 和全文检索的比较 4.1 like ' ...
分类:
数据库 时间:
2016-06-18 22:36:08
阅读次数:
303
一、创建和连接到数据库 二、删除数据库 三、创建数据表 四、删除数据表 五、增加和删除表字段 六、插入表数据 七、查询数据 八、修改数据 九、删除数据 十、关闭数据库 ...
分类:
数据库 时间:
2016-06-18 22:35:01
阅读次数:
259