MySQL——死锁

MYISAM表锁是deadlock free的,这是因为MyISAM总是一次获得所需的全部所,要么全部满足,要么等待,因此不会出现死锁。但是InnoDB中,除单个SQL组成的事务外,锁是逐步获得的,这就决定了发生了死锁的可能。解决死锁主要有以下集中方式: 1、在应用中,如果不同的程序会并发存取多...

2016-05-16 15:26:01

阅读数:210

评论数:0

MySQL——InnoDB行锁

1、InnoDB行锁是通过给索引上的索引项加锁实现的,如果没有索引,InnoDB将通过隐藏的聚簇索引来对记录加锁。 简单地说:如果不通过索引条件检索数据,那么InnoDB将对表中的所有记录加锁,实际效果跟表锁一样。 具体如下: 在不通过索引条件查询时,InnoDB会锁定表中的所有记录。 如果是...

2016-05-16 14:16:21

阅读数:1997

评论数:0

Mysql——锁问题

1、概述 不同的存储引擎支持不同的锁机制,MyISAM和MEMORY存储引擎采用的是表级锁;BDB存储引擎采用的是页面锁,也支持表级锁;InnoDB则即支持行级锁,也支持表级锁,默认是行级锁。 表级锁:开销小,加锁快;不会出现死锁;锁定粒度小,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,...

2016-05-14 21:59:07

阅读数:184

评论数:0

MYSQL的常用SQL的优化

1、大批量插入数据 针对MyISAM表 alter table tb1_name DISABLE KEYS; loading the data alter table tb2_name ENABLE KEYS; 上述两个句子主要用来打开或者关闭MyISAM表非唯一索引的更新,在导入大量的...

2016-05-12 22:07:07

阅读数:391

评论数:0

SQL优化--索引

MYSQL目前支持4种索引: B-Tree索引:最常见的索引类型,大部分引擎都支持B树索引。 Hash索引:只有Memory引擎支持,使用场景简单。 R-Tree索引(空间索引) :空间索引是MyISAM的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少。 Full-Text(全文索引):...

2016-05-10 14:06:44

阅读数:157

评论数:0

SQL优化--发现问题

1、Mysql客户端连接成功后,通过show status命令可获取服务器状态信息。通过判断com_insert和com_select以及更新和删除来判断当前数据库的应用是以插入更新为主还是以查询操作为主,以及更重类型的SQL大致的执行比例是多少。注意,对于更新操作的计算,是对执行次数的技术,不论...

2016-05-09 21:59:00

阅读数:141

评论数:0

Mysql学习笔记1

一次性插入多条记录: insert into tablename(field1,field2,…,fieldn) values(record1_value1,record1_value2,…,record1_valuen),(…) having和where的区别在于,having是对聚合后的结...

2016-05-06 15:26:32

阅读数:128

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭