1、为什么要分表?数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询速度变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。当出现这种情况时,我们可以考虑分表或分区。
分类:
数据库 时间:
2020-01-09 00:47:16
阅读次数:
240
一,概述 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样, ...
分类:
其他好文 时间:
2020-01-08 23:09:11
阅读次数:
96
一、锁 1、锁的定义 锁即是一种用来协调多线程或进程并发使用同一共享资源的机制 2、锁的分类 从性能上分类:乐观锁和悲观锁 从数据库操作类型上分类:读锁和写锁 从操作粒度上分类:表锁和行锁 2.1 从性能上分类 2.1.1 乐观锁 乐观锁顾名思义就是操作的时候很乐观,认为操作不会产生并发问题(不会有 ...
分类:
数据库 时间:
2020-01-03 19:48:11
阅读次数:
158
事务描述: 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务它还可以用来管理DDL、DML、DCL操作,比如 insert,update,delete 语句。一般来说,事务是必 ...
分类:
数据库 时间:
2020-01-01 11:50:36
阅读次数:
81
在使用cxGrid时,由于设置了所有单元格都能编辑, 但在特定的情况下,让某些行,根据一些列值条件,让该行整行锁定,不能编辑。 研究了很久,在DevExpress官网上找到了相关的资料,因此,分享给大家。 Dev官网的列子是这样的 // DISABLE A ROW 整行禁止编辑 procedure ...
分类:
其他好文 时间:
2019-12-31 14:28:11
阅读次数:
231
最近,公司现网的业务中出现上图所示的死锁异常,沿着问题分析,发现这个问题涉及很多数据库的基础知识。 背景: 使用数据库:Mysql 涉及表格:t_invest 数据库隔离级别:可重复读(Repeatable Read) 死锁场景:saveRepaymentInfo事务的A()方法对t_invest表 ...
分类:
数据库 时间:
2019-12-19 21:15:19
阅读次数:
120
1、锁状态 锁的状态只能升级不能降级。 无锁 没有锁对资源进行锁定,所有线程都能访问并修改同一个资源,但同时只有一个线程能修改成功。其他修改失败的线程会不断重试,直到修改成功,如CAS原理和应用是无锁的实现。 偏向锁 偏向锁是指一段同步代码一直被一个线程访问,那个该线程会自动获取锁,降低获取锁的代价 ...
分类:
编程语言 时间:
2019-12-19 00:04:59
阅读次数:
103
锁的粒度 表锁:锁住整个表,加锁和释放速度快,能避免死锁。因为锁住的范围大,并发性低。 页锁:锁住的范围以及性能基于表锁和行锁之间,能支持的主要是BDB(BerkeleyDB)引擎。 行锁:以行为单位进行锁定,粒度最小,并发性高。每次获取锁和释放锁需要做的事情也更多,带来的消耗自然也就更大了。此外, ...
分类:
数据库 时间:
2019-12-17 10:23:31
阅读次数:
91
存储引擎 存储引擎:用于根据不同的机制处理不同的数据。 mysql存储引擎: ? innodb:默认存储引擎,支持事务,支持行锁,支持外键 ? myisam:mysql老版本用的存储引擎 ? blackhole:存任何数据进去都会立即消失 ? memory:内存引擎(数据存放在内存中) 查看所有引擎 ...
分类:
数据库 时间:
2019-12-16 22:39:55
阅读次数:
131
MyISAM特点 1)不支持行锁(MyISAM只有表锁),读取时对需要读到的所有表加锁,写入时则对表加排他锁; 2)不支持事务 3)不支持外键 4)不支持崩溃后的安全恢复 5)在表有读取查询的同时,支持往表中插入新纪录 6)支持BLOB和TEXT的前500个字符索引,支持全文索引 7)支持延迟更新索 ...
分类:
数据库 时间:
2019-12-16 20:55:37
阅读次数:
97