-
详解Oracle中三大类型与隐式数据类型转换
所属栏目:[MySql教程] 日期:2019-09-29 热度:181
在某些情况下,Oracle Server 会收到数据类型与预期的数据类型不同的数据。发生这种情况时,Oracle Server 可自动将该数据转换为预期的数据类型。这种数据类型转换可以由Oracle Server 隐式完成,也可以由用户显式完成。 在MySQL跟Oracle中,如果存在隐式[详细]
-
详解MySQL数据库监控指标之连接状态
所属栏目:[MySql教程] 日期:2019-09-28 热度:172
概述 如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以主动监控数据库的连接情况。 连接情况 监控客户端连接情况相当重要,因为一旦可用连接耗尽,新的客户端连接[详细]
-
高并发环境下如何让Redis和MySQL保持数据统一
所属栏目:[MySql教程] 日期:2019-09-28 热度:107
业务场景 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。 这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行[详细]
-
阿里面试MySQL灵魂拷问20题,Java程序员秋招必会的8个知识点
所属栏目:[MySql教程] 日期:2019-09-28 热度:112
对于程序员来说,面试内容一般分为两个部分:编程面试题部分 + 数据库面试题部分。 据不完全调查,作为数据库中的主流选择 MySQL 的薪资待遇正在逐年增加,而且似乎不仅仅是程序员在学,就连很多产品经理和运营人也开始学习 MySQL 去分析数据。 对于技术面[详细]
-
记一次生产数据库sql优化案例--23秒优化到0.9秒
所属栏目:[MySql教程] 日期:2019-09-28 热度:109
新项目业务人员反馈说最近订单发放模块经常很卡,导致总是有锁的情况发生,在用慢查询和开启锁监控观察后发现实际上只是单条查询慢造成的阻塞锁,这里考虑先对单条查询做一下优化。 一、优化前的表结构、数据量、SQL、执行计划、执行时间 1. 表结构 A表有9[详细]
-
频繁插入(insert)的业务,用什么存储引擎更合适? | 数据库系列
所属栏目:[MySql教程] 日期:2019-09-28 热度:71
继续回答星球水友提问: 沈老师,MyISAM只支持表锁,但网上文章却说,在并发插入量比较大的时候,比较适合使用MyISAM,这矛盾吗? 这个问题,涉及MySQL表锁的一些细节,借着这个问题,系统性说下表锁的所以然。 画外音:网上不少文章只说结论,不说为什么,[详细]
-
深入剖析 MySQL 索引和 SQL 调优实战
所属栏目:[MySql教程] 日期:2019-09-27 热度:111
MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。 为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。 MySQL官方对索[详细]
-
MySQL数据库监控指标之执行性能总结
所属栏目:[MySql教程] 日期:2019-09-27 热度:176
概述 如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以主动监控与性能及资源利用率相关的指标--查询执行性能。 查询性能 MySQL 用户监控查询延迟的方式有很多,既[详细]
-
这些常被忽视的SQL错误用法,你知道吗
所属栏目:[MySql教程] 日期:2019-09-26 热度:171
sql语句的执行顺序: FROM left_table ON join_condition join_type JOIN right_table WHERE where_condition GROUPBY group_by_list HAVING having_condition SELECT DISTINCT select_list ORDERBY order_by_condition LIMIT limit_number 1、LIMIT 语句[详细]
-
MySQL数据库监控指标之吞吐量
所属栏目:[MySql教程] 日期:2019-09-26 热度:123
概述 如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以监控下吞吐量这个指标。 吞吐量 在监控任何系统时,我们最关心的应该是确保系统能够高效地完成工作。数据库[详细]
-
MySQL索引和SQL调优手册
所属栏目:[MySql教程] 日期:2019-09-26 热度:161
MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。 MySQL官方对索引[详细]
-
MySQL数据库表大小写不敏感处理,看完之后,大部分程序员收藏了
所属栏目:[MySql教程] 日期:2019-09-24 热度:69
MySQL大小写敏感的控制 mysql是通过lower_case_table_names参数来控制大小写敏感的 1:参数含义 lower_case_table_names: 此参数不可以动态修改,必须重启数据库 lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写 lower[详细]
-
记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当
所属栏目:[MySql教程] 日期:2019-09-24 热度:187
概述 最近有台数据库做了迁移,然后运维人员过了一段时间发现这台服务器非常卡,连远程登录都要很久,下面记录下其中的解决过程。 1、查看资源情况 可以发现内存爆满了,而排名第一的正是sqlserver的进程 2、查看sqlserver内存分配 SQL Server对服务器内存[详细]
-
MySQL最新版8.0与5.7之性能对比
所属栏目:[MySql教程] 日期:2019-09-24 热度:61
简述 在Oracle MySQL团队的推动下,MySQL 8.0发生了巨大的变化和修改。 物理文件已更改。例如,*.frm,* .TRG,*.TRN和* .par 不再存在。添加了大量的新特性,如通用表表达式(Common Table Expressions CTE),窗口函数(Window Functions),不可见索引([详细]
-
浅谈Redis中的全局命令
所属栏目:[MySql教程] 日期:2019-09-24 热度:76
在上一篇中我们已经介绍过了Redis有5种数据类型,但每一种数据类型底层的实现都是不同的,在学习Redis时,我们除了要掌握这5种数据类型外,还要了解它们具体的底层实现,这有助于我们更好的掌握Redis的,在遇到问题时,可以方便快速的解决问题,在这篇,我[详细]
-
几千万记录,数据库表结构如何平滑变更?
所属栏目:[MySql教程] 日期:2019-09-23 热度:189
继续回答知识星球水友提问。 问题域:数据量大、并发量高场景,如何在流量低峰期,平滑实施表结构变更? 画外音,一般来说,是指增加表的属性,因为: 如果是减column,升级程序不使用即可; 如果是修改column,程序兼容性容易出问题; 首先,一起看下有哪些[详细]
-
分享一份MySQL思维导图--MySQL数据库脉络分析
所属栏目:[MySql教程] 日期:2019-09-23 热度:185
抽空整理了mysql数据库学习脉络,比较适合开发入门学习,偏基础,大家凑合看下吧,主要是梳理一下思路。 mysql脉络 1. 数据类型 2. 数据库基本操作 3. 数据表基本操作 4. 数据表其他常用操作 5. 索引 6. 自定义函数 7. 存储过程 8. 视图 9. 触发器 10. 游[详细]
-
你不会还在用这8个错误的SQL写法吧?
所属栏目:[MySql教程] 日期:2019-09-22 热度:69
1、LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。 SELECT* FROMoperation WH[详细]
-
删除一张大表时为什么undo占用空间接近原表两倍?
所属栏目:[MySql教程] 日期:2019-09-22 热度:176
概述 Oracle中,undo是保存记录的前镜像的,我理解如果delete from t;那产生的undo应该和t表的大小差不多,但测试结果却差的很远,undo产生的量基本上是t表大小的两倍,不知道为什么,难道我理解错了?下面看下这个奇怪的现象。 1. delete了8个小时 2. 原[详细]
-
Oracle和MySQL的JDBC到底有多慢?
所属栏目:[MySql教程] 日期:2019-09-21 热度:152
经常听人说,数据库的IO性能不佳,但说归说,并没有感性认识。我们现在就来实际测试一下,常用的Oracle和MySQL的JDBC读取性能如何。 之所以测试JDBC,是因为大部分应用是JAVA写的,也就只能用JDBC来访问数据。这里仅测试用JDBC读出数据,并产生成Java的记[详细]
-
数据库缓存最终一致性的四种方案
所属栏目:[MySql教程] 日期:2019-09-21 热度:123
背景 缓存是软件开发中一个非常有用的概念,数据库缓存更是在项目中必然会遇到的场景。而缓存一致性的保证,更是在面试中被反复问到,这里进行一下总结,针对不同的要求,选择恰到好处的一致性方案。 缓存是什么 存储的速度是有区别的。缓存就是把低速存储[详细]
-
Oracle发布全球最快的数据库机器Exadata X8M
所属栏目:[MySql教程] 日期:2019-09-20 热度:124
Exadata X8M 是第一台具有集成持久内存和 RoCE 的数据库机器。Oracle 还宣布推出 Oracle 零数据丢失恢复设备 X8M(ZDLRA)。 Oracle 发布了新的 Exadata 数据库机器 X8M,旨在为数据库基础架构市场树立新的标杆。 Exadata X8M 结合了英特尔 Optane DC 持久[详细]
-
面试官问:MySQL的自增ID用完了,怎么办?
所属栏目:[MySql教程] 日期:2019-09-19 热度:156
既然这块知识点不清楚,那回头就自己动手实践下。 首先,创建一个最简单的表,只包含一个自增id,并插入一条数据。 createtablet0(idintunsignedauto_incrementprimarykey); insertintot0values(null); 通过show命令 show create table t0; 查看表情况 CRE[详细]
-
一文看懂MySQL如何查看数据库表容量大小
所属栏目:[MySql教程] 日期:2019-09-18 热度:68
今天主要介绍MySQL查看数据库表容量大小的几个方法,仅供参考。 1. 查看所有数据库容量大小 SELECT table_schemaAS'数据库', sum(table_rows)AS'记录数', sum(TRUNCATE(data_length/1024/1024,2))AS'数据容量(MB)', sum(TRUNCATE(index_length/1024/1024,2[详细]
-
基于时序数据库做监控,这里有超流行的开源方案
所属栏目:[MySql教程] 日期:2019-09-18 热度:93
在微服务架构下,我们对服务进行了拆分,所以用户的每次请求不再是由某一个服务独立完成了,而是变成了多个服务一起配合完成。这种情况下,一旦请求出现异常,我们必须得知道是在哪个服务环节出了故障,就需要对每一个服务,以及各个指标都进行全面的监控[详细]