并发控制
当多个连接对记录进行修改时保证数据的一致性和完整性。系统使用锁系统来解决这个并发控制,这种锁分为:
共享锁(读锁):在同一时间内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化。
排他锁(写锁):在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。
锁的力度(锁的颗粒:锁定时的单位):
表锁,是一种开销最小的锁策略。得到数据表的写锁(禁止其他用户进行读写,只能有一个锁)
行锁,是一种开销最大的锁策略。并行性最大(有多少条记录,就有可能对每条记录都进行锁)
表锁的开销最小,因为使用锁的个数最小,行锁的开销最大,因为可能使用锁的个数比较多
当多个连接对记录进行修改时保证数据的一致性和完整性。系统使用锁系统来解决这个并发控制,这种锁分为:
共享锁(读锁):在同一时间内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化。
排他锁(写锁):在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。
锁的力度(锁的颗粒:锁定时的单位):
表锁,是一种开销最小的锁策略。得到数据表的写锁(禁止其他用户进行读写,只能有一个锁)
行锁,是一种开销最大的锁策略。并行性最大(有多少条记录,就有可能对每条记录都进行锁)
表锁的开销最小,因为使用锁的个数最小,行锁的开销最大,因为可能使用锁的个数比较多
2017-10-24
CREATE
[DEFINER = {user | CURRENT_USER}]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic...] routine_body
proc_parameter:
[IN | OUT | INOUT] param_name type
[DEFINER = {user | CURRENT_USER}]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic...] routine_body
proc_parameter:
[IN | OUT | INOUT] param_name type
2017-10-23
CREATE
[DEFINER = {user | CURRENT_USER}]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic...] routine_body
proc_parameter:
[IN | OUT | INOUT] param_name type
[DEFINER = {user | CURRENT_USER}]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic...] routine_body
proc_parameter:
[IN | OUT | INOUT] param_name type
2017-10-23
?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ? ?? ???? ?? ?? ??? ??? ?
2017-10-20
自连接:同一个数据表对其自身进行连接
mysql> SELECT s.type_id AS 子类ID, s.type_name AS 子类名称, p.type_name AS 父类名称 FROM goods_types AS s LEFT JOIN goods_types AS p ON s.parent_id = p.type_id;
mysql> SELECT s.type_id AS 子类ID, s.type_name AS 子类名称, p.type_name AS 父类名称 FROM goods_types AS s LEFT JOIN goods_types AS p ON s.parent_id = p.type_id;
2017-10-20