随笔分类 -  Mysql

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