随笔分类 - Mysql
摘要:数据库链接池大小的计算 查看数据库链接池大小 show variables like '%max_connections%'; 设置数据库链接池大小 set GLOBAL max_connections = 10; 简单测试 Siege 介绍 Siege是一个压力测试和评测工具,设计用于WEB开发这
阅读全文
摘要:前言 前面我有跟你介绍过 SQL 语句基本的执行链路,这里我再把那张图拿过来,你也可以先简单看看这个图回顾下。 首先,可以确定的说,查询语句的那一套流程,更新语句也是同样会走一遍。 MySQL 的逻辑架构图你执行语句前要先连接数据库,这是连接器的工作。前面我们说过,在一个表上有更新的时候,跟这个表有
阅读全文
摘要:本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构。 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_info where id = 1; 返回结果为: + + + + + + + + | id | user
阅读全文
摘要:原文:mysql主从复制 作者:aizhen 数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。对于MySQL来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,读节点的数量取决于系统的压力,通常是1-3个读节点的配置。而一般的读写分离中间件,
阅读全文
摘要:排查流程: 1.使用ping命令,看网络是否联通。 2.使用netstat -nltp | grep 3306查看mysql服务是否正常开启。 3.再次检测一次Mysql的连接配置是否正确(用户名和密码是否正确,格式端口是否是整型,其他格式是否正确)。 4.以上都检测好了,但是连接过程中还是出现超时
阅读全文
摘要:查询缓存 Mysql提供了一种缓存类型,会缓存整个SELECT查询结果。Mysql查询缓存保存查询返回的完整结果。当查询命中该缓存,Mysql会立即返回结果,跳过了解析、优化和执行阶段。 以下两种情况不能被缓存: 频繁更新、修改的的表,所有缓存数据都会失效,Mysql查询缓存会跟踪查询中涉及的表,如
阅读全文
摘要:作者:刘慰链接:https://www.zhihu.com/question/24696366/answer/29189700 首先要明白”范式(NF)”是什么意思。按照教材中的定义,范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。很晦涩吧?实际上你可以把它粗
阅读全文
摘要:防止索引失效原则 1.当你使用索引的时候,最好能够把你建立的索引的字段都给用到。不仅可以提供查询的效率。2.最佳左前缀法则,意思就是当你如果有建立过多个字段索引的组合索引的时候,最要遵循最左前缀法则,指的是查询从索引的最左前列开始并且不能跳过索引中的列。原则: 第一个索引不能掉 中间索引不能掉 3.
阅读全文
摘要:单表 新建表 CREATE TABLE IF NOT EXISTS article( id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, author_id INT(10) UNSIGNED NOT NULL, category_id I
阅读全文
摘要:原文:MySQL中的锁(表锁、行锁,共享锁,排它锁,间隙锁) 作者:唐大麦 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问
阅读全文
摘要:MySQL从5.5.8开始,Innodb就是默认的存储引擎,Innodb最大的特点是:支持事务、支持行级锁。 既然支持事务,那么就会有处理并发事务带来的问题:更新丢失、脏读、不可重复读、幻读;相应的为了解决这四个问题, 就产生了事务隔离级别:未提交读(Read uncommitted),已提交读(R
阅读全文
摘要:explain 功能我们在日常使用中,使用慢查询找到执行时间比较久的查询,然后使用SHOW STATUS、SHOW PROFILE、和explain做单条语句的分析。使用explain关键字可以模拟优化器执行sql查询语句,从而知道Mysql是如何处理你的sql语句的。分析你的查询语句或者表结构的性
阅读全文
摘要:前言 在实际应用中,有SHOW STATUS、SHOW PROFILE、检查慢查询日志的条目三种方法剖析单条查询。 SHOW PROFILE Mysql5.1版本以后才有,默认功能禁用,使用SET profiling = 1命令开启。 功能:服务器上所有执行的语句,都会测量其消耗时间和执行状态变更相
阅读全文
摘要:一、关于数据库性能分析 数据库服务器的性能:我们将性能定义为完成某件任务所需要的时间,性能即响应时间,这是应该很重要的原则,我们通过任务的响应时间而不是资源来测量时间。性能:即完成任务的响应时间,单位时每个任务花费的时间。任务:查询或者语句,如SELECT、UPDATE、DELETE。所以我们优化时
阅读全文
摘要:题目来源:mysql练习题 一、表关系 二、操作表 1、自行创建测试数据 2、查询“生物”课程比“物理”课程成绩高的所有学生的学号; 3、查询平均成绩大于60分的同学的学号和平均成绩; 4、查询所有同学的学号、姓名、选课数、总成绩; 5、查询姓“李”的老师的个数; 6、查询没学过“叶平”老师课的同学
阅读全文
摘要:原文链接 SELECT INTO 作用 SELECT INTO 语句从一个表中复制数据,然后将数据插入到另一个新表中。 SELECT INTO 语法 我们可以把所有的列都复制到新表中: SELECT *INTO newtable [IN externaldb]FROM table1; 或者只复制希望
阅读全文
摘要:IN的作用 IN运算符允许您在WHERE子句中指定多个值。 IN运算符是多个OR条件的简写。 IN的语法 SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); 或者 SELECT colum
阅读全文
摘要:原文链接 BETWEEN的作用 BETWEEN 操作符用于选取介于两个值之间的数据范围内的值。 BETWEEN的边界 BETWEEN运算符选择给定范围内的值。值可以是数字,文本或日期。 BETWEEN运算符是包含性的:包括开始和结束值,等价于>= AND <= BETWEEN的语法 SELECT c
阅读全文
摘要:原文链接 LIKE 作用 在WHERE子句中使用LIKE运算符来搜索列中的指定模式。 有两个通配符与LIKE运算符一起使用: % - 百分号表示零个,一个或多个字符 _ - 下划线表示单个字符 % - 百分号表示零个,一个或多个字符 _ - 下划线表示单个字符 注意: MS Access使用问号(?
阅读全文
摘要:Mysql:数据库导入导出 Mysql数据库导出 mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名 1.mysqldump是在cmd下的命令,需要在linux命令行下执行命令。2.-p后面指定的是数据库的名字,比不是密码。 实际演示: [root@VM_0_16_cen
阅读全文