首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
MySQL学习之——锁(行锁、表锁、页锁、乐观锁、悲观锁等)
】的更多相关文章
乐观、悲观锁、redis分布式锁
悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程).传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁.Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现. 乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时…
MySQL学习笔记_4_MySQL创建数据表(下)
MySQL创建数据表(下) 五.数据表类型及存储位置 1.MySQL与大多数数据库不同,MySQL有一个存储引擎概念.MySQL可以针对不同的存储需求选择不同的存储引擎. 2. showengines; #查看MySQL所支持的存储引擎storageengine 3. showvariables like 'table_type'; #查看默认数据表类型 MyISAM和InnoDB最常用的存储引擎[表类型] 4.指定表类型[使用哪一个存储引擎]: createtable ...() engine…
MySQL学习笔记02_数据库和表的基本操作
02_1 操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specification]...] 解释: [IF NOT EXISTS]创建时提前检查一下是否存在数据库 create_specification:(创建条件) [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE collation_name CHAR…
mySQL学习入门教程——2.创建表
二.创建表 一.创建数据表的SQL语句模型(弱类型)CREATE TABLE [IF NOT EXISTS] 表名称(字段名1 列的类型[属性][索引],字段名2 列的类型[属性][索引],-字段名n列的类型[属性][索引],)[表属性][表字符集]:[表名称,字段名需要自己来命名][SQL语句并不区分大小写,但是一个文件名:在Windows下不区分大小写,但是在 Linux/UNIX下是区分大小写的][命名规则: 1.有意义(英文,英文组合或英文缩写) 2.自己定的名称最好小写. 3.SQ…
MySQL学习(八)删除表数据
表空洞的产生 删除某个行数据 或删除某个页 如下图所示,这个删除过程只是标记了某行的位置为删除,假如此时在300与600之间插入了一行数据,那么 同理,当删除某个页时,该页就会被复用.所以当删除某一行或页时空间并不会被回收,而是会被复用,这些可以复用,而没有被使用的空间,看起来就像是"空洞". 插入数据产生空洞 不仅是删除数据,插入数据的时候也会产生空洞, 例如上图,插入一行索引为550 的记录,经过页分裂后会产生新的页,而旧的pageA 会产生页空洞,如果能够…
MySQL学习总结(五)表数据查询
查询数据记录,是指从数据库对象表中获取所要查询的数据记录,该操作可以说是数据最基本的操作之一,也是使用频率最高.最重要的数据操作. 1.单表数据记录查询 1.1.简单数据查询 SELECT field1,field2,…,fieldn FROM table_name,filed可以是表中所有的字段,也可以是部分字段. SELECT * FROM table_name ,从表中查询所有的数据.*符号可以代替所有的字段,但是这种方式不够灵活,只能按照表中字段的顺序固定进行显示,不能够随便改变字段的显…
MySQL学习笔记_2_MySQL创建数据表(上)
MySQL创建数据表(上) 一.创建数据表的SQL语句模型[弱类型] CREATETABLE [IF NOT EXISTS] 表名称( 字段名1列的类型[属性][索引], 字段名2 列的类型[属性][索引], - 字段名n列的类型[属性][索引], )[表属性][表字符集]: [表名称,字段名需要自己来命名] [SQL语句并不区分大小写,但是一个文件名:在Windows下不区分大小写,但是在 Linux/UNIX下是区分大小写的] [命名规则: 1.有意义(英文,英文组合或英文缩写) 2.自己定…
mysql学习(十)多表查询
多表查询时,要给表名起别名,给字段名其别名(当两个表含有重复字段时) select p.name, c.name, pid from products p, cats c;//得到的结果为笛卡尔乘积 select p.name as pname, p.price, p.desn, p.num from products p, cats c where c.id = p.cid ;//查询所有商品属于哪个分类 select p.name as pname, p.price, p.desn, p.n…
MySQL学习笔记_3_MySQL创建数据表(中)
MySQL创建数据表(中) 三.数据字段属性 1.unsigned[无符号] 可以让空间增加一倍 比如可以让-128-127增加到0-255 注意:只能用在数值型字段 2.zerofill[前导零] e.g. createtable if not exists t2(num int(5) zerofill,price float(7,2)zerofill,name varchar(10)); 注意:只能用在数值型字段,自动加上无符号属性 3.auto_increment[自增] #auto自动:…
mysql学习(八)数据表类型-字符集
数据存储引擎: MyISAM:强化快速读取操作. 也有缺点.一些功能不支持 InnoDB:支持一些MyIASM一些不支持的功能 缺点:占用空间大 对比 MyISAM InnoDB 事务处理 不支持 支持 数据锁定 不支持 支持 外键 不支持 支持 表占用空间 相对小 2倍数 全文索引 支持 不支持 创建数据表制定存储引擎 create table if not exists persons(id int not nu…