数据库
lizmit
越努力,越幸运。
展开
-
乐观锁和悲观锁的区别(最全面的分析)
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过...转载 2018-05-31 14:30:35 · 12779 阅读 · 1 评论 -
Mysql使用索引可能失效的场景
1.WHERE字句的查询条件里有不等于号(WHERE column!=…),MYSQL将无法使用索引2.类似地,如果WHERE字句的查询条件里使用了函数(如:WHERE DAY(column)=…),MYSQL将无法使用索引3.在JOIN操作中(需要从多个数据表提取数据时),MYSQL只有在主键和外键的数据类型相同时才能使用索引,否则即使建立了索引也不会使用4.如果WHERE子句的查询条件里使用了...转载 2018-06-01 08:05:49 · 12426 阅读 · 0 评论 -
explain用法和结果的含义
explain select * from user explain extended select * from user id SELECT识别符。这是SELECT的查询序列号 select_type SELECT类型,可以为以下任何一种: SIMPLE:简单SELECT(不使用UNION或子查询) PRIMARY:最外面的...原创 2018-07-26 18:14:19 · 3902 阅读 · 1 评论 -
数据一致性处理
数据一致性处理 当多个进程同时操作同一个数据,会产生资源争抢,数据一致性的问题。 高并发情况下,涉及到写操作时,不可能直接操作数据库,大并发的连接会导致mysql请求会阻塞,比如大量的insert update 请求到,会直接导致无数的行锁和表锁,甚至最后堆积很多,从来触发too many connections 错误。 web服务器 nginx和apac...原创 2019-03-25 17:26:39 · 2962 阅读 · 0 评论