- 2020-01-15
MySQL快速回顾:高级查询操作
8.1 排序数据 检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存储空间的影响。因此,如果不明确控制的话,不能依赖该排序顺序。 关系数 阅读全文>> - 2020-01-15
Mysql 性能优化Explain详解
explain 功能我们在日常使用中,使用慢查询找到执行时间比较久的查询,然后使用SHOW STATUS、SHOW PROFILE、和explain做单条语句的分析。使用explain关键字可以模拟优化器执行sql查询语句,从而知道Mysql是如何处理你的sql语句的。分析你的查询语句 阅读全文>> - 2020-01-15
老生常谈!数据库如何存储时间?你真的知道吗?
我们平时开发中不可避免的就是要存储时间,比如我们要记录操作表中这条记录的时间、记录转账的交易时间、记录出发时间等等。你会发现这个时间这个东西与我们开发的联系还是非常紧密的,用的好与不好会给我们的业务甚至功能带来很大的影响。所以,我们有必要重新出发,好好认识一下这个东西。 这是一篇短小精 阅读全文>> - 2019-12-03
MySQL分库分表与分区的区别和思考
一.分分合合 说过很多次,不要拘泥于某一个技术的一点,技术是相通的。重要的是编程思想,思想是最重要的。当数据量大的时候,需要具有分的思想去细化粒度。当数据量太碎片的时候,需要具有合的思想来粗化粒度。 1.1 分 很多技术都运用了分的编程思想,这里来举几个例子,这些都是分的思想 阅读全文>> - 2019-12-03
SQL查询优化实践
为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上,即随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢,且数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引,语句写法的 阅读全文>> - 2019-11-29
CentOS7中安装MariaDB
安装方式 在线安装(慢的要命) RPM离线安装(CentOS7.X) 在线安装 打开官方网站 https://mariadb.org/ 点击Download,跳转到下一页面 继续点击Download,进到下页 点击红框中的[链接] (https://downloads.maria 阅读全文>> - 2019-11-28
MySQL权限管理
目录 设置用户与权限 用户管理 MySQL权限系统介绍 最少权限原则 创建用户:GRANT命令 权限的类型和级别 REVOKE命令 权限立即生效 使用GRANT和REVOKE的例子 设置用户与权限 一个MySQL系统可能有许多用户。为了安全起见,root用户通常只用管理目的。对 阅读全文>> - 2019-11-26
EF Core For MySql查询中使用DateTime.Now作为查询条件的一个小问题
背景 最近一直忙于手上澳洲线上项目的整体迁移和升级的准备工作,导致博客和公众号停更。本周终于艰难的完成了任务,借此机会,总结一下项目中遇到的一些问题。 EF Core一直是我们团队中中小型项目常用的ORM框架,在使用SQL Server作为持久化仓储的场景一下,一直表现还中规中矩。但 阅读全文>> - 2019-11-26
神奇的 SQL 之 MySQL 性能分析神器 → EXPLAIN,SQL 起飞的基石!
前言 开心一刻 某人养了一头猪,烦了想放生,可是猪认识回家的路,放生几次它都自己回来了。一日,这个人想了个狠办法,开车带着猪转了好多路进山区放生,放生后又各种打转,然后掏出电话给家里人打了个电话,问道:“猪回去了吗?”,家里人:“早回来了,你在哪了,怎么还没回来?”,他大怒 阅读全文>> - 2019-11-26
MySQL 5.7 - 通过 BINLOG 恢复数据
日常开发,运维中,经常会出现误删数据的情况。误删数据的类型大致可分为以下几类: 使用 delete 误删行 使用 drop table 或 truncate table 误删表 使用 drop database 语句误删数据库 使用 rm 命令误删整个 MySQL 实例。 不同的情 阅读全文>> - 2019-11-25
MySQL 复制表结构和表数据
1、前言 在功能开发完毕,在本地或者测试环境进行测试时,经常会遇到这种情况:有专门的测试数据,测试过程会涉及到修改表中的数据,经常不能一次测试成功,所以,每次执行测试后,原来表中的数据其实已经被修改了,下一次测试,就需要将数据恢复。 我一般的做法是:先创建一个副本表,比如测试使 阅读全文>> - 2019-11-23
理解MySQL数据库事务-隔离性
Transaction事务是指一个逻辑单元,执行一系列操作的SQL语句。 事务中一组的SQL语句,要么全部执行,要么全部回退。在Oracle数据库中有个名字,叫做transaction ID 在关系型数据库中,事务必须ACID的特性。 原子性,事务中的操作,要不全部执行,要不都不执行 阅读全文>> - 2019-11-21
Mysql备份还有这么多套路,还不了解下?
逻辑备份和物理备份 逻辑备份 逻辑备份用于备份数据库的结构(CREAET DATABASE、CREATE TABLE)和数据(INSERT),这种备份类型适合数据量小、跨SQL服务器、需要修改数据等场景。如mysqldump命令就是产生一个逻辑备份工具,使用mysqldump输出的文件包 阅读全文>> - 2019-11-10
初识MySQL索引 - 小白篇:MyISAM 和 InnoDB 索引对比
接触mysq也有两年左右的时间了,但是对该数据库的理解自认还比较初级,看过很多文章,也看过一些相关的书籍,依然小白。。。。(这里个人总结是两点主要原因:1.对mysql的学习大部分都是源于看一些杂七杂八的文章,很多文章本身表述有误或不准确。2.实操较少,平时增删改查索引的使用很常规,缺 阅读全文>> - 2019-11-08
MySQL的统计信息学习总结
统计信息概念 MySQL统计信息是指数据库通过采样、统计出来的表、索引的相关信息,例如,表的记录数、聚集索引page个数、字段的Cardinality....。MySQL在生成执行计划时,需要根据索引的统计信息进行估算,计算出最低代价(或者说是最小开销)的执行计划.MySQL支持有 阅读全文>>