SQL_锁问题

锁分类

(1)表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 [MYISAM、Memory、Innodb]

表级锁更适合于以查询为主,只有少量按索引条件更新数据的应用,如Web 应用

(2)行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发 度也最高。[Innodb]

行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有并发查询的应用

(3)页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁 之间,并发度一般。[BDB]

SQL_触发器

概念

触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。

SQL_索引

1.索引概述

使用索引是提高 SELECT 操作性能的最佳途径。 MyISAM 和 InnoDB 存储引擎的表默认创建的都是 BTREE 索引

MySQL 目前还不支持函数索引,但是支持前缀索引。

MySQL 中还支持全文本(FULLTEXT)索引,用于全文搜索,默认情况下,MEMORY 存储引擎使用 HASH 索引,但也支持 BTREE 索引。
| 139.6k