1、读写锁
读锁是共享的,相互不阻塞的。多个客户在同一时刻可以同时读取同一个资源,而互不干扰。
写锁是排他的,一个写锁会阻塞其他的写锁和读锁。只有这样,才能确保在给定的时间里,只有一个用户能执行写入,并防止其他用户读取正在写入的统一资源。
2、事务
事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有语句都不会执行。
事务四大特性:原子性、一致性、隔离性、持久性
原子性:一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作。
一致性:数据库总是从一个一致性状态转换到另外一个一致性的状态。
隔离性:一个事务所做的修改在最终提交前,对其他事务是不可见的。
持久性:一旦事务提交,则其所做的修改就会永远保存到数据库中。
索引:是存储引擎用于快速找到记录的一种数据结构。
如果索引包含多个列,那么列的顺序也十分重要,因为mysql只能高效的使用索引的最左前缀列。创建一个包含两个列的索引,和创建两个只包含一列的索引是大不相同的。
数据库:
1、持久化数据到本地
2、可以实现结构化查询,方便管理
数据库相关概念:
1、DB:database,数据库,保存一组有组织数据的容器。
2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据。
3、SQL:结构化查询语言,用于和DBMS通信的语言。