2018-08-17
MySQL在架构上分为Server层和存储引擎层,它们的线程模型略有不同。在Server层每个连接对应一个线程,几乎没有线程并发控制,只要还可以创建连接,就会创建对应的线程,这些线程之间并发执行。而在InnoDB存储引擎层,为了防止并发线程过多,线程切换开销过大,可以限制并发线程数,从而提高性能。除此以外,MySQL
Enterprise版/MariaDB/...
阅读全文
2018-08-17
案例描述
这里记录的是一次线上问题的分析过程,MySQL在执行形如select * from tb
WHERE val IN (10, 20, 30) and id IN (1,2,3) and id IN
(1,2,3,4,5)类型的SQL时,造成内存暴涨,引发OOM。这个SQL中IN的列表长度可能达到数十万个,而SQL总的长度不超过10M字节。注意到这个...
阅读全文
2018-08-17
ngrep(network
grep)是一款轻量级的网络抓包工具,是一个开源项目,代码托管在SourceForge上。ngrep依赖pcap库和GNU
regex库,主要通过命令行接口使用。可以使用源码编译安装,在ubuntu上可以直接使用apt-get安装。
ngrep比tcpdump功能更强的的地方是,从名字也可以看出来,ngrep可以通过正则表达式过滤...
阅读全文
2018-08-06
简介
GTID是MySQL 5.6的新特性,其全称是Global Transaction
Identifier,可简化MySQL的主从切换以及Failover。GTID用于在binlog中唯一标识一个事务。当事务提交时,MySQL
Server在写binlog的时候,会先写一个特殊的Binlog
Event,类型为GTID_Event,指定下一个事务的GTI...
阅读全文
2018-05-29
问题描述
Moore Nim 也叫 index-k Nim,这个问题由 Moore 在 1910 年提出,是普通
Nim 问题的扩展,问题的描述如下。
总共有 \(n\)
堆石子,每堆石子的个数分别为 \(a_1, a_2, a_3
... a_n\) ;有 2 个玩家轮流取石子,每次选择 \(k\)
堆石子,从中取任意多个石子,而且至少要取一个石子。取走最...
阅读全文
2018-05-27
题目大意:
有一堆石子总共有\(n\)个,两个玩家轮流去取,每次至少取一个石子。先手玩家在第一次取石子的时候至多取\(n-1\)个,之后每个玩家每次最多只能取他对手上一次取石子的\(k\)倍。 比如某个玩家在某次取走\(q\)个石子,轮到他的对手取石子了,对手最多只能取\(k *
q\)个石子。当某个玩家不能取到石子时就输了,对手获胜。
输入
第一行是一个整...
阅读全文
2018-05-25
题目描述
我们都知道每一个整数都可以用十进制来表示,从右往左起,第k个数权重是\(10^k\),比如:9527实际上表示的值是 \[9527=9*10^3+5*10^2+2*10^1+7*10^0\]
我们现在引入负数进制,比如-10进制,在该进制的表示下由于: \[9527=1*(-10)^4+1*(-10)^3+6*(-10)^2+8*(-10)^1+7...
阅读全文
上一页 1 2