-
MySQL中的主键和rowid,看似简单,其实有一些使用陷阱需要注意
所属栏目:[MySql教程] 日期:2019-10-16 热度:187
大家在MySQL中我们可能听到过rowid的概念,但是却很难去测试实践,不可避免会有一些疑惑,比如: 1)如何感受到rowid的存在 2)rowid和主键有什么关联关系 3)在主键的使用中存在哪些隐患 4)如何来理解rowid的潜在瓶颈并调试验证 今天要和大家一起讨论这[详细]
-
分享一款MySQL语句优化辅助工具--DBA必备
所属栏目:[MySql教程] 日期:2019-10-16 热度:181
概述 优化SQL,是DBA常见的工作之一。如何高效、快速地优化一条语句,是每个DBA经常要面对的一个问题。对于一名DBA来说,掌握一门语言配合自己的工作是非常必要的。相对于shell的简单、perl的飘逸,Python是一种严谨的高级语言。其具备上手快、语法简单、[详细]
-
面试官出的MySQL索引问题,这篇文章全给你解决!
所属栏目:[MySql教程] 日期:2019-10-16 热度:56
0 前言 这篇文章不会讲解索引的基础知识,主要是关于MySQL数据库的B+树索引的相关原理,里面的一些知识都参考了MySQL技术内幕这本书,也算对于这些知识的总结。对于B树和B+树相关的知识,可以参考我的这篇博客:面试官问你B树和B+树,就把这篇文章丢给他 1[详细]
-
什么?Redis的QPS是MySQL的100倍?
所属栏目:[MySql教程] 日期:2019-10-14 热度:132
前言 原来总听别人说 Redis 读写性能优越适合做缓存,而 MySQL 则不行,那么你有真正了解过他们的读写差距吗?小匠同样也有这个疑问,到底他们的性能差多少?于是就有了这篇文章。 测试环境配置 Ubuntu Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz 8GB DDR3[详细]
-
InnoDB到底支不支持哈希索引,为啥不同的人说的不一样?
所属栏目:[MySql教程] 日期:2019-10-14 热度:112
继续回答水友提问(最近问MySQL的多): 沈老师,我在网上看到不同的资料,有的说InnoDB支持哈希索引,有的说不支持,到底哪个是正确的呢? 对于InnoDB的哈希索引,确切的应该这么说: InnoDB用户无法手动创建哈希索引,这一层上说,InnoDB确实不支持哈希索引[详细]
-
详解Oracle数据库表空间设计--ASM/BFT/OMF综合使用
所属栏目:[MySql教程] 日期:2019-10-14 热度:154
为满足海量数据的高性能、易管理性等综合需求,很多项目在表空间设计方面,基本都会综合采用ASM、OMF和大表空间技术,下面分别介绍一下这几个概念。 1. ASM ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷[详细]
-
记一次找因Redis使用不当导致应用卡死Bug的过程
所属栏目:[MySql教程] 日期:2019-10-14 热度:169
首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越多的同事开始抱怨,于是感觉代码可能有问题,[详细]
-
分享一份大佬的MySQL数据库设计规范,值得收藏
所属栏目:[MySql教程] 日期:2019-10-14 热度:121
MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。无意中从github上看到一个大佬的MySQL数据库设计规范,顺便在这里分享一下。 https://github.com/jly8866/archer/blob[详细]
-
详解MyCat 全局序列号实现方式,值得收藏
所属栏目:[MySql教程] 日期:2019-10-14 热度:58
在实现分库分表的情况下,数据库自增主键已无法保证自增主键的全局唯一。为此,MyCat 提供了全局sequence,并且提供了包含本地配置和数据库配置等多种实现方式。下面对这几种实现方式做一下介绍。 1. 本地文件方式 原理: 此方式 MyCAT 将 sequence 配置到[详细]
-
MySQL数据库入门多实例配置
所属栏目:[MySql教程] 日期:2019-10-14 热度:98
前面介绍了相关的基础命令操作:MySQL数据库基础篇之入门基础命令 所有的操作都是基于单实例的,mysql多实例在实际生产环境也是非常实用的,因为必须要掌握。 1、什么是多实例 多实例就是一台服务器上开启多个不同的服务端口(默认3306),运行多个mysql的[详细]
-
Redis缓存击穿、缓存穿透、缓存雪崩
所属栏目:[MySql教程] 日期:2019-10-14 热度:57
本篇文章主要谈谈Redis中很容易出现的三大问题现象:缓存击穿、缓存穿透以及缓存雪崩。不过在介绍这三个问题现象之前,我们首先需要先来了解下Redis中key的过期淘汰机制。众所周知,Redis可以对存储在Redis中的缓存数据设置过期时间,比如我们获取的短信验[详细]
-
Redis内存满了怎么办……
所属栏目:[MySql教程] 日期:2019-10-14 热度:77
我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大[详细]
-
精心总结--Oracle查询表空间的每日增长量和历史情况统计脚本
所属栏目:[MySql教程] 日期:2019-10-14 热度:165
今天主要总结一下Oracle表空间每日增长和历史情况统计的一些脚本,仅供参考。 11g统计表空间的每日增长量 SELECTa.snap_id, c.tablespace_namets_name, to_char(to_date(a.rtime,'mm/dd/yyyyhh24:mi:ss'), 'yyyy-mm-ddhh24:mi')rtime, round(a.tablespace_[详细]
-
阿里面试MySQL灵魂拷问20题,Java程序员秋招必会的8个知识点
所属栏目:[MySql教程] 日期:2019-10-06 热度:160
对于程序员来说,面试内容一般分为两个部分:编程面试题部分 + 数据库面试题部分。 据不完全调查,作为数据库中的主流选择 MySQL 的薪资待遇正在逐年增加,而且似乎不仅仅是程序员在学,就连很多产品经理和运营人也开始学习 MySQL 去分析数据。 对于技术面[详细]
-
记一次生产数据库sql优化案例--23秒优化到0.9秒
所属栏目:[MySql教程] 日期:2019-10-06 热度:157
新项目业务人员反馈说最近订单发放模块经常很卡,导致总是有锁的情况发生,在用慢查询和开启锁监控观察后发现实际上只是单条查询慢造成的阻塞锁,这里考虑先对单条查询做一下优化。 一、优化前的表结构、数据量、SQL、执行计划、执行时间 1. 表结构 A表有9[详细]
-
频繁插入(insert)的业务,用什么存储引擎更合适? | 数据库系列
所属栏目:[MySql教程] 日期:2019-10-06 热度:56
继续回答星球水友提问: 沈老师,MyISAM只支持表锁,但网上文章却说,在并发插入量比较大的时候,比较适合使用MyISAM,这矛盾吗? 这个问题,涉及MySQL表锁的一些细节,借着这个问题,系统性说下表锁的所以然。 画外音:网上不少文章只说结论,不说为什么,[详细]
-
详解Oracle中三大类型与隐式数据类型转换
所属栏目:[MySql教程] 日期:2019-10-06 热度:128
在某些情况下,Oracle Server 会收到数据类型与预期的数据类型不同的数据。发生这种情况时,Oracle Server 可自动将该数据转换为预期的数据类型。这种数据类型转换可以由Oracle Server 隐式完成,也可以由用户显式完成。 在MySQL跟Oracle中,如果存在隐式[详细]
-
干货!MySQL DAL中间件总结
所属栏目:[MySql教程] 日期:2019-10-06 热度:122
1.前言 mysql作为互联网公司都会用到的数据库,如果在使用过程中出现性能问题,会采用mysql的横向扩展,使用主从复制来提高读性能,要是解决写入问题,需要进行分库分表。本文不会去介绍mysql的高可用,需要了解Mysql高可用架构相关的请戳浅谈MySQL集群高[详细]
-
代码详解:使用Python从不同表格中提取数据
所属栏目:[MySql教程] 日期:2019-10-06 热度:120
常用的表格数据存储文件格式CSV,Microsoft Excel,Google Excel 。 Python通常称为粘合语言。这个名称归因于人们逐渐开发出的大量接口库和特征,也得益于广泛的使用和良好的开源社区。这些接口库和特征能直接访问不同的文件格式,还可以访问数据源如数据[详细]
-
5分钟使用存储过程,构建百万测试数据
所属栏目:[MySql教程] 日期:2019-10-06 热度:56
一、怎么创建测试数据 如果你会编程语言,那么你可以使用java、python、php等等语言通过对应的工具包操作数据库来完成测试数据的构建。 如果你不会这些语言,恰好你又会一些sql语句,使用存储过程完成测试数据构造是再好不过了。 并且存储过程就是sql脚本[详细]
-
关于MySQL数据库监控指标总结:缓冲池使用情况
所属栏目:[MySql教程] 日期:2019-10-06 热度:170
如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以主动监控以下这个与性能及资源利用率相关的指标:缓冲池使用情况。 缓冲池使用情况 MySQL 默认的存储引擎 InnoDB[详细]
-
MySQL数据库表大小写不敏感处理,看完之后,大部分程序员收藏了
所属栏目:[MySql教程] 日期:2019-09-28 热度:189
MySQL大小写敏感的控制 mysql是通过lower_case_table_names参数来控制大小写敏感的 1:参数含义 lower_case_table_names: 此参数不可以动态修改,必须重启数据库 lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写 lower[详细]
-
记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当
所属栏目:[MySql教程] 日期:2019-09-27 热度:159
概述 最近有台数据库做了迁移,然后运维人员过了一段时间发现这台服务器非常卡,连远程登录都要很久,下面记录下其中的解决过程。 1、查看资源情况 可以发现内存爆满了,而排名第一的正是sqlserver的进程 2、查看sqlserver内存分配 SQL Server对服务器内存[详细]
-
MySQL最新版8.0与5.7之性能对比
所属栏目:[MySql教程] 日期:2019-09-27 热度:170
简述 在Oracle MySQL团队的推动下,MySQL 8.0发生了巨大的变化和修改。 物理文件已更改。例如,*.frm,* .TRG,*.TRN和* .par 不再存在。添加了大量的新特性,如通用表表达式(Common Table Expressions CTE),窗口函数(Window Functions),不可见索引([详细]
-
浅谈Redis中的全局命令
所属栏目:[MySql教程] 日期:2019-09-27 热度:160
在上一篇中我们已经介绍过了Redis有5种数据类型,但每一种数据类型底层的实现都是不同的,在学习Redis时,我们除了要掌握这5种数据类型外,还要了解它们具体的底层实现,这有助于我们更好的掌握Redis的,在遇到问题时,可以方便快速的解决问题,在这篇,我[详细]