mysql杂记漫谈】的更多相关文章

Hello,大家好,我是烤鸭,这几天消失了一下,主要是线上系统出了点小bug和sql性能问题,在努力搬砖,就把之前的设计模式系列放了一下下,正好趁这个复习巩固了一下sql执行计划和sql优化等相关的东西,本篇文章我主要用来学习mysql的执行计划和索引分类,也和大家分享下吧,也请大神们不吝赐教. 先来熟悉一下索引吧.索引是在存储引擎中实现的,不同的存储引擎可能会使用不同索引,Myisam和InnoDB存储引擎只能支持BTREE索引,不能更换,而MEMORY/HEAP存储引擎支持HASH和BTRE…
参考资料: w3school  SQL 教程 : http://www.w3school.com.cn/sql/index.asp 21分钟 MySQL 入门教程 : http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html MySQL的InnoDB索引原理详解 杂记: 1 update和alter 前者修改内容,后者修改表,有些地方需要加table,有些不需要 查询和更新指令构成了 SQL 的 DML 部分: SELECT -…
最近一直在做订单类的项目,使用了事务.我们的数据库选用的是MySQL,存储引擎选用innoDB,innoDB对事务有着良好的支持.这篇文章我们一起来扒一扒事务相关的知识. 为什么要有事务? 事务广泛的运用于订单系统.银行系统等多种场景.如果有以下一个场景:A用户和B用户是银行的储户.现在A要给B转账500元.那么需要做以下几件事: 1. 检查A的账户余额>500元: 2. A账户扣除500元: 3. B账户增加500元: 正常的流程走下来,A账户扣了500,B账户加了500,皆大欢喜.那如果A账…
查看时区: SHOW VARIABLES LIKE "%time_zone%"; 输出 Variable_name Value system_time_zone CST time_zone SYSTEM 分析: 这里有两个变量,其中 time_zone 是指 mysql 数据库的时区.默认为 SYSTEM,即等于服务器的系统时区. system_time_zone 表示系统时区,因为我们的系统服务器是在中国,system_time_zone 为 CST(China Standard T…
1:声明一个int变量时,设置它默认为0,而不是空或null. int 型,取值范围-2,147,483,648 到 2,147,483,647 ,默认值是 0 int是值类型,读内存区间中指定长度单元里的数据,这块单元就算不做任何处理也全是0,那么数值就是0 所以,int 型,永远不会为空,从声明一个 int 变量时,它默认就是0,而不是空 2 : 判断未知时间段,是否与已知的时间段有重合的判断逻辑…
MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发原理 MySQL InnoDB 快照读在RR和RC下有何差异 MySQL 体系结构 MySQL 体系结构图: MySQL 从概念上分为四层,这四层自顶向下分别是网络连接层,服务层(核心层),存储引擎层,…
MySQL · 性能优化· InnoDB buffer pool flush策略漫谈 背景 我们知道InnoDB使用buffer pool来缓存从磁盘读取到内存的数据页.buffer pool通常由数个内存块加上一组控制结构体对象组成.内存块的个数取决于buffer pool instance的个数,不过在5.7版本中开始默认以128M(可配置)的chunk单位分配内存块,这样做的目的是为了支持buffer pool的在线动态调整大小. Buffer pool的每个内存块通过mmap的方式分配内…
昨天晚上,参考博客园的另一篇文章,在自己的Ubuntu上搭建了一个Apache+PHP+MySQL的服务器,在此谨记,以备不时之需. 一.安装Apache sudo apt-get install apache2 安装完成,用如下代码重启Apache服务器 sudo /ect/init.d/apache2 restart 在浏览器里输入http://localhost或者是http://127.0.0.1,如果看到了It works!,那就说明Apache就成功的安装了,Apache的默认安装,…
一.mysqladmin的使用#mysqladmin extended-status -u root -i 2 -c 2 -p | grep connect查看mysql的状态中带有connect字符的变量,每两秒统计一次,共统计2次 #mysqladmin extended-status -u root -r -i 2 -p | grep connect查看2秒内的增量输出,该项不起作用 二.mysql服务器状态变量中的重要部分 1.Aborted_clients如果这个变量随时间增加,就要确…
mysql> show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接.show processlist;只列出前100条,如果想全列出请使用show full processlist; mysql> show status; mysql> show status like '%下面变量%'; Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量. Aborted_connects 尝试…