事务 四大性质 原子性 隔离性 一致性 持久性 四种隔离等级 未提交读(READ UNCOMMITED) 提交读(READ COMMITED) 可重复读(REPEATABLE READ) 序列化(SERIALIZABLE) 锁机制 两种角度看 乐观锁 悲观锁 三种锁粒度 行级锁 页级锁 表级锁 行锁的两种实现 共享锁(读锁, S锁) 排他锁(写锁, X锁) 行锁与表锁互存 意向共享锁 意向排他锁 GAP锁 索引 普通索引 唯一索引 主键索引 组合索引 聚簇索引 二级索引 总结 键 超键 候选键 主键 外键 范式 第一范式 第二范式 第三范式 第四范式 反范式 其他优化方式 varchar与text的区别 插入更新优化 bulk_insert_buffer_size concurrent_insert delay_key_write delayed_insert_limit 其他参考资料 事务 四大性质 原子性 对于事务中的语句,要么全部执行,要么一句都没有执行。 隔离性 不同事务之间应该互相独
发表于 2017-05-20 21:56:41 | 条评论 | 阅读次数:69
#按TAB可以补全terminal中的文件名#通常安装的带有界面的程序包都在/opt目录中#ctrl+d退出终端,以及输入EOF#ctrl+shift+v 粘贴#ctrl+shift+d 复制#运行内容的时候,在最后面加上&,就会异步运行./google.sh & #异步运行脚本dpkg -i 安装包的名字 #安装.deb程序ls -l #查看带有权限的文件浏览which 命令 #查看命令的目录#修改~/.bashrc 用户自己的启动项#加入:export PATH=$PATH:/etc/apache/binls -s A B #把A内容建立一个硬链接到Bls A B #把A内容建立一个软链接到Balias #查看别名unalias #取消别名alias ll='ls -l' #定义别名diff a.txt b.txt #比较两个文本文件的内容./main > output.txt #把输出输出到outputcat input.txt | ./main #把input.txt当做标准输入给main运行history #查看曾经输入过哪些命令export HISTTIMEFORMA
发表于 2017-05-16 23:41:13 | 条评论 | 阅读次数:121
登录和关于用户的操作 mysql -u root -p #登录mysqlcreate user 'qwb'@'%' IDENTIFIED BY 'xxxxxx'; #创建一个用户,密码是后面的#后面表示允许访问的地址,如果要允许外部访问就这样写,如果想只允许内部访问,就设置成localhostdrop user '用户名'; #删除用户grant all on shujuku.* to qwb; #给某个用户赋值整个shujuku的权限quit; #退出 数据库操作 show databases; #显示所有数据库use databases; #选择databases这个数据库#下面需要直接在命令行里运行mysqladmin -u root -p create new_databases; #创建一个新的数据库表mysqladmin -u root -p drop new_databases; #从删库到跑路mysqldump -u root -p database > dump.txt #把数据库备份到文件 表操作 show tables; #显示选中的数据库里所有的表名字des
发表于 2017-05-15 21:03:18 | 条评论 | 阅读次数:142
之前服务器是用windows server的,当时觉得windows server比较方便。 之后发现windows server的防御不是一般的弱,终于有一天被黑了,然后在电脑里挂了一堆程序,还把apache搞坏了,CPU每天日常100% T^T,刚好最近自己电脑装了双系统开始用linux了,所以就装了一个CentOS然后自己手动把环境装了一下。 由于是装完之后才来写博客记录的(唉),所以只能说是按回忆记录一下一些东西。 mysql php nginx 防火墙 mysql 好像现在都用mariadb了,腾讯云给的官方源中竟然没有mysql-server,于是手动在官网下载了mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar,根据自己的实际系统下载就好了 然后解压,按顺序安装,这里还有个技巧 sudo rpm -i xxx.rpm #安装某一个包,不会解决依赖关系sudo yum install xxx.rpm #安装一个包,会解决程序的依赖关系sudo service mysqld start #启动mysql的服务mysqladmin -u root pas
发表于 2017-05-15 18:31:45 | 条评论 | 阅读次数:103
5555,太堕落了,好久没有写博客了。 早就听说pb_ds这玩意了,有时候可以省很多东西。 好像最主要是为了替代set不能求第k大的问题。 感觉真的很方便啊~ //可并堆测试#include <ext/pb_ds/priority_queue.hpp>void ceshi_1() { //binary_heap_tag一般比std::priority_queue快 //pairing_heap_tag和std::priority_queue启发式合并时,速度差不多 __gnu_pbds::priority_queue<int, less<int>, __gnu_pbds::pairing_heap_tag> Q1, Q2; Q1.push(1); Q1.push(2); Q1.push(3); Q2.push(1); Q2.push(2); Q2.push(3); Q1.join(Q2);//pairing_heap_tag配对堆,zici O(1)合并 while(!Q1.empty()) { std::pr
发表于 2017-02-28 23:29:53 | 条评论 | 阅读次数:110
质数线性筛 O(1) gcd 可撤销的并查集 权值并查集 O(1)查询的lca 质数线性筛 复杂度:O(n)O(n)O(n) 以前没有深刻的理解这个,今天在看O(1)的gcd才发现这东西原来这么厉害。 每个数字只会被访问一次 每个合数可以拆分为 最小质数p*x 所以,我们要做到,筛数字的时候,只用那个最小的质数去筛,下面是代码: bool not_prime[MX];int prime[MX], prear;void prime_init() { prear = 0; not_prime[1] = 1; for(int i = 2; i < MX; i++) { if(!not_prime[i]) prime[++prear] = i; for(int j = 1; j <= prear && prime[j]*i < MX; j++) { not_prime[i * prime[j]] = 1; if(i % prime[j] == 0) break;
发表于 2017-02-13 18:22:41 | 条评论 | 阅读次数:253
莫比乌斯函数和莫比乌斯反演问题,其实是属于两种问题。 这里我们只讨论莫比乌斯函数,首先来看莫比乌斯函数的定义: μ(n)=1\mu(n)=1μ(n)=1,如果n=1 μ(n)=−1\mu(n)=-1μ(n)=−1,如果n只由x个质数相乘得到,且质数各不相同,且x为奇数 μ(n)=1\mu(n)=1μ(n)=1,如果n只由x个质数相乘得到,且质数各不相同,且x为偶数 μ(n)=0\mu(n)=0μ(n)=0,n为其他情况时 其实单纯的莫比乌斯函数的题,就是容斥定理而已… 我们来个题来抛砖引玉 传送门 对于这个题,我们很容易的就会考虑到求A[B[i]]序列和B[A[i]]序列,然后把值相等的下标都选出来,现在问题就转换成了,给定两个集合A和集合B,在集合A中选一个数,在集合B中选一个数,使得两个数互质,问有多少对 我们用num[i]来表示,集合A中有多少个数字,是i的倍数。 那么很容易就能想到下面这个容斥定理的做法: #include <map>#include <set>#include <cmath>#include <ctime>#include
发表于 2017-02-04 14:51:31 | 条评论 | 阅读次数:178
Copyright © 2017 - 2018 qwb's blog
blog.csustacm.com All Rights Reserved
Powered by qwb Contact me