-
微服务架构下,利用Sharding-jdbc解决读写分离查询延迟问题
所属栏目:[MySql教程] 日期:2019-09-17 热度:151
前言 当Mysql数据库数据达到一定量后,查询SQL执行会变慢起来,除了建索引、优化程序代码以及SQL语句等常规手段外,利用经典MHA数据库中间件做数据库读写分离是一个不错的选择。但是在读写分离架构中会出现一个共性问题:SQL读取延迟。 读写实时场景 比如[详细]
-
MySQL EXPLAIN结果集分析 - 附带大量案例
所属栏目:[MySql教程] 日期:2019-09-17 热度:73
EXPLAIN:查看SQL语句的执行计划 EXPLAIN命令可以帮助我们深入了解MySQL基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用,在优化慢查询时非常有用。 执行explain之后结果集包含如下[详细]
-
关于MySQL数据库清理binlog日志命令总结
所属栏目:[MySql教程] 日期:2019-09-16 热度:165
今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.index错乱,最终导致后期expire-log-days配置项失效。 1. 查看binlog日志 mysqlshowbinarylogs; 2. 删除某个日志文件之前的所有日志文件 purg[详细]
-
MySQL数据库 如果你能面试的时候能回答这些问题月薪2万不是问题
所属栏目:[MySql教程] 日期:2019-09-16 热度:171
汇总面试Mysql岗位容易遇到的提问,如果你正准备面试的公司刚刚好要考察你的数据库认知 能力的话,那么这篇文章最适合你。 2019 年著名的技术问答网站 Stack Overflow 发布了2019年年度开发者调查报告,SQL 在受欢迎的编程语言中排在了第 3 名,大部分的开[详细]
-
海量、多维数据让人抓狂?高效搜索方法看这里
所属栏目:[MySql教程] 日期:2019-09-16 热度:103
人与世界万物的互动会产生大量的时空数据。那么,当我们需要随时调用过去的数据时,改怎么办?尤其是面对各种海量、多维度的数据库,如果没有高效的搜索方法,我们只能望洋兴叹、束手无策。 别担心,本文将用详细的代码,手把手来传授高效搜索法的绝技! 对[详细]
-
记一次MySQL数据库升级导致授权失败的案例
所属栏目:[MySql教程] 日期:2019-09-12 热度:153
在设置mysql数据库远程登录时碰到设置失败的情况,因为还是第一次见过这种信息,所以记录一下。 报错信息 ERROR3009(HY000):Columncountofmysql.useriswrong.Expected45,found42.CreatedwithMySQL50560,nowrunning50727. Pleaseusemysql_upgradetofixthise[详细]
-
详解MySQL索引使用率监控技巧,值得收藏
所属栏目:[MySql教程] 日期:2019-09-12 热度:120
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 mysql中支持hash和btree索引。innodb和myisam只支持btree索引,[详细]
-
超详细的MySQL数据库字符集总结,值得收藏
所属栏目:[MySql教程] 日期:2019-09-11 热度:116
MySQL支持多种字符集(character set)提供用户存储数据,同时允许用不同排序规则(collation)做比较。下面基于MySQL5.7介绍一下字符集相关变量的使用。 一、字符集、字符序的概念与联系 在数据的存储上,MySQL提供了不同的字符集支持。而在数据的对比操作上[详细]
-
一文看懂MySQL数据库LnnoDB崩溃恢复机制
所属栏目:[MySql教程] 日期:2019-09-11 热度:167
概述 数据库系统与文件系统很大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。下面简单介绍一下InnoDB的崩溃恢复流程。[详细]
-
MySQL如何优化大分页查询?
所属栏目:[MySql教程] 日期:2019-09-11 热度:116
一 背景 大部分开发和DBA同行都对分页查询非常非常了解,看帖子翻页需要分页查询,搜索商品也需要分页查询。那么问题来了,遇到上千万或者上亿的数据量怎么快速的拉取全量,比如大商家拉取每月千万级别的订单数量到自己独立的ISV做财务统计;或者拥有百万[详细]
-
超详细的MySQL数据库InnoDB崩溃恢复机制总结
所属栏目:[MySql教程] 日期:2019-09-11 热度:131
概述 数据库系统与文件系统大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。下面简单介绍一下InnoDB的崩溃恢复流程。 相[详细]
-
NoSQL究竟是什么?了解为什么NoSQL数据库不是传统数据库的对手
所属栏目:[MySql教程] 日期:2019-09-11 热度:195
近年来,我们目睹了NoSQL的兴起,并观察它在各种应用中的应用。本文旨在对SQL和NoSQL技术进行客观比较,并尝试澄清一些不明确的方面,以帮助人们熟悉地选择后端。 我对NoSQL的态度 一切都有时间,2014年我开始使用NoSQL。也许我迟到了,但我之前的项目需求[详细]
-
这几个Redis使用技巧,让你的程序快如闪电
所属栏目:[MySql教程] 日期:2019-09-10 热度:55
一、Redis封装架构讲解 实际上NewLife.Redis是一个完整的Redis协议功能的实现,但是Redis的核心功能并没有在这里面,而是在NewLife.Core里面。 这里可以打开看一下,NewLife.Core里面有一个NewLife.Caching的命名空间,里面有一个Redis类,里面实现了Redis[详细]
-
一份完整的MySQL开发规范,进大厂必看!
所属栏目:[MySql教程] 日期:2019-09-10 热度:121
一、数据库命令规范 1、所有数据库对象名称必须使用小写字母并用下划线分割 2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 4、临[详细]
-
Java大牛分享关于Redis缓存的几道典型面试题
所属栏目:[MySql教程] 日期:2019-09-10 热度:80
随着系统访问量的提高,复杂度的提升,响应性能成为一个重点的关注点。而缓存的使用成为一个重点。 redis 作为缓存中间件的一个佼佼者,成为了面试必问项目。 本文分享一下Redis几道常见的面试题: 缓存雪崩 1.1 什么是缓存雪崩? 如果我们的缓存挂掉了,[详细]
-
数据库管理工具,你选对了吗?
所属栏目:[MySql教程] 日期:2019-09-10 热度:162
小编为大家带来一款免费的数据库管理器,Valentina Studio for Mac支持SQL Server、MySQL、PostgreSQL、SQLite等服务器,valentina studio数据库管理可以使用不同的图表进行数据建模,功能实用,这款valentina studio mac版是免费的,有需要的朋友可以下载[详细]
-
MySQL如何重置root密码
所属栏目:[MySql教程] 日期:2019-09-09 热度:54
1. 前言 忘记你的MySQL root密码? 别担心,它发生在我们所有人身上。 在本教程中,我们将向您展示如何重置MySQL root密码,以防您忘记密码。 本教程适用于任何现代Linux发行版,如Ubuntu 18.04、CentOS 7、Debian等等。 2. 准备工作 在继续执行以下步骤之[详细]
-
什么是分布式事务,以及有哪些解决方案?
所属栏目:[MySql教程] 日期:2019-09-09 热度:143
什么是分布式事务? 答:指一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。从本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 分布式事务产生的原因? 1 数据[详细]
-
记一次生产数据库log file sync 等待事件异常及处理过程
所属栏目:[MySql教程] 日期:2019-09-09 热度:136
今天主要从一个案例来介绍一下log file sync这个等待事件及常用的一些解决办法,下面先看下故障时间段的等待事件。 1. 查看卡顿时间段的等待事件及会话 查看故障时间段等待事件、问题sql id及会话访问次数 selecttrunc(sample_time,'mi')tm,sql_id,nvl(eve[详细]
-
详解oracle数据库主键SYS_GUID()
所属栏目:[MySql教程] 日期:2019-09-07 热度:91
在oracle8i以后提供了一个生成不重复的数据的一个函数sys_guid()一共32位,生成的依据主要是时间和机器码,具有世界唯一性,类似于java中的UUID(都是世界唯一的)。 SYS_GUID SYS_GUID同Oracle管理员所使用的传统的序列(sequence)相比具有诸多优势。一个序[详细]
-
关于Oracle数据库Kfk: Async Disk IO等待事件深度解析
所属栏目:[MySql教程] 日期:2019-09-07 热度:86
概述 一大早运维团队就来找事,说系统又有点卡了,然后发现了一个比较少见的等待事件--kfk: async disk IO,趁着这次排查的过程也简单说下这个等待事件吧! 1、查看TOP N等待事件 SELECTinst_id,EVENT,SUM(DECODE(WAIT_TIME,0,0,1))Prev,SUM(DECODE(WAIT_TI[详细]
-
图解MySQL索引:B-树、B+树
所属栏目:[MySql教程] 日期:2019-09-07 热度:67
看了很多关于索引的博客,讲的大同小异。但是始终没有让我明白关于索引的一些概念,如B-Tree索引,Hash索引,唯一索引.或许有很多人和我一样,没搞清楚概念就开始研究B-Tree,B+Tree等结构,导致在面试的时候答非所问! 索引是什么? 索引是帮助MySQL高效获[详细]
-
MongoDB将弃用 Perl 驱动,Perl 还能行吗?
所属栏目:[MySql教程] 日期:2019-09-07 热度:198
由于使用者过少,MongoDB 宣布弃用 Perl 驱动。 MongoDB 高级产品经理 Scott L'Hommedieu 表示,在过去几年中,团队调查了用户群体,并与使用 Perl 驱动的公司进行交流,得到的反馈是,用户对于通过 Perl 驱动支持 MongoDB 新功能的要求极少。另一边,Mong[详细]
-
五大常见的MySQL高可用方案
所属栏目:[MySql教程] 日期:2019-09-07 热度:144
1.概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 1.1 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。 1.2 用作备份、只读副本等功能的非主节点[详细]
-
这句简单的SQL,如何加索引?颠覆了我多年的认知
所属栏目:[MySql教程] 日期:2019-09-07 热度:139
不啰嗦,直接入正题。问题是这样的。请问下面的sql语句,要想加快查询速度,该怎么创建索引?以下,以mysql数据库为准。 select*fromtestwherea=?andb?orderbyclimit0,100 结果可能会出乎你的意料。我们首先准备一下运行环境,然后按照最左前缀原则和explai[详细]