-
这些常被忽视的SQL错误用法,你知道吗
所属栏目:[MySql教程] 日期:2019-09-27 热度:162
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-27 热度:181
概述 如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以监控下吞吐量这个指标。 吞吐量 在监控任何系统时,我们最关心的应该是确保系统能够高效地完成工作。数据库[详细]
-
MySQL索引和SQL调优手册
所属栏目:[MySql教程] 日期:2019-09-27 热度:130
MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。 MySQL官方对索引[详细]
-
深入剖析 MySQL 索引和 SQL 调优实战
所属栏目:[MySql教程] 日期:2019-09-27 热度:145
MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。 为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引。 MySQL官方对索[详细]
-
MySQL数据库监控指标之执行性能总结
所属栏目:[MySql教程] 日期:2019-09-27 热度:106
概述 如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以主动监控与性能及资源利用率相关的指标--查询执行性能。 查询性能 MySQL 用户监控查询延迟的方式有很多,既[详细]
-
详解MySQL数据库监控指标之连接状态
所属栏目:[MySql教程] 日期:2019-09-27 热度:113
概述 如果你的数据库运行缓慢,或者出于某种原因无法响应查询,技术栈中每个依赖数据库的组件都会遭受性能问题。为了保证数据库的平稳运行,你可以主动监控数据库的连接情况。 连接情况 监控客户端连接情况相当重要,因为一旦可用连接耗尽,新的客户端连接[详细]
-
高并发环境下如何让Redis和MySQL保持数据统一
所属栏目:[MySql教程] 日期:2019-09-27 热度:192
业务场景 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。 这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行[详细]
-
Oracle发布全球最快的数据库机器Exadata X8M
所属栏目:[MySql教程] 日期:2019-09-23 热度:72
Exadata X8M 是第一台具有集成持久内存和 RoCE 的数据库机器。Oracle 还宣布推出 Oracle 零数据丢失恢复设备 X8M(ZDLRA)。 Oracle 发布了新的 Exadata 数据库机器 X8M,旨在为数据库基础架构市场树立新的标杆。 Exadata X8M 结合了英特尔 Optane DC 持久[详细]
-
Oracle和MySQL的JDBC到底有多慢?
所属栏目:[MySql教程] 日期:2019-09-23 热度:70
经常听人说,数据库的IO性能不佳,但说归说,并没有感性认识。我们现在就来实际测试一下,常用的Oracle和MySQL的JDBC读取性能如何。 之所以测试JDBC,是因为大部分应用是JAVA写的,也就只能用JDBC来访问数据。这里仅测试用JDBC读出数据,并产生成Java的记[详细]
-
数据库缓存最终一致性的四种方案
所属栏目:[MySql教程] 日期:2019-09-23 热度:139
背景 缓存是软件开发中一个非常有用的概念,数据库缓存更是在项目中必然会遇到的场景。而缓存一致性的保证,更是在面试中被反复问到,这里进行一下总结,针对不同的要求,选择恰到好处的一致性方案。 缓存是什么 存储的速度是有区别的。缓存就是把低速存储[详细]
-
你不会还在用这8个错误的SQL写法吧?
所属栏目:[MySql教程] 日期:2019-09-23 热度:118
1、LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。 SELECT* FROMoperation WH[详细]
-
删除一张大表时为什么undo占用空间接近原表两倍?
所属栏目:[MySql教程] 日期:2019-09-23 热度:93
概述 Oracle中,undo是保存记录的前镜像的,我理解如果delete from t;那产生的undo应该和t表的大小差不多,但测试结果却差的很远,undo产生的量基本上是t表大小的两倍,不知道为什么,难道我理解错了?下面看下这个奇怪的现象。 1. delete了8个小时 2. 原[详细]
-
几千万记录,数据库表结构如何平滑变更?
所属栏目:[MySql教程] 日期:2019-09-23 热度:135
继续回答知识星球水友提问。 问题域:数据量大、并发量高场景,如何在流量低峰期,平滑实施表结构变更? 画外音,一般来说,是指增加表的属性,因为: 如果是减column,升级程序不使用即可; 如果是修改column,程序兼容性容易出问题; 首先,一起看下有哪些[详细]
-
分享一份MySQL思维导图--MySQL数据库脉络分析
所属栏目:[MySql教程] 日期:2019-09-23 热度:198
抽空整理了mysql数据库学习脉络,比较适合开发入门学习,偏基础,大家凑合看下吧,主要是梳理一下思路。 mysql脉络 1. 数据类型 2. 数据库基本操作 3. 数据表基本操作 4. 数据表其他常用操作 5. 索引 6. 自定义函数 7. 存储过程 8. 视图 9. 触发器 10. 游[详细]
-
12个适用于DBA的数据库管理和开发的SQL工具
所属栏目:[MySql教程] 日期:2019-09-21 热度:78
作为Web开发人员或数据库管理员,由于各种原因,经常需要处理SQL语句来探索数据库。比如:查询数据库、构建并执行SQL代码、生成报告、备份、诊断与数据库相关的应用程序问题,使用正确的工具可以加快与数据库相关的任务,并提高工作效率。以下工具使你可以[详细]
-
安全漏洞XSS、CSRF、SQL注入以及DDOS攻击
所属栏目:[MySql教程] 日期:2019-09-20 热度:73
随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面列举一些常见的安全漏洞和对应的防御措施。 0x01: XSS漏洞 1、XSS简介 跨站脚本(cross site script)简称为XSS,是一种经常出现在web应用中的计算机安全漏洞,也是web中[详细]
-
微服务架构下,利用Sharding-jdbc解决读写分离查询延迟问题
所属栏目:[MySql教程] 日期:2019-09-20 热度:71
前言 当Mysql数据库数据达到一定量后,查询SQL执行会变慢起来,除了建索引、优化程序代码以及SQL语句等常规手段外,利用经典MHA数据库中间件做数据库读写分离是一个不错的选择。但是在读写分离架构中会出现一个共性问题:SQL读取延迟。 读写实时场景 比如[详细]
-
MySQL EXPLAIN结果集分析 - 附带大量案例
所属栏目:[MySql教程] 日期:2019-09-20 热度:104
EXPLAIN:查看SQL语句的执行计划 EXPLAIN命令可以帮助我们深入了解MySQL基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用,在优化慢查询时非常有用。 执行explain之后结果集包含如下[详细]
-
一文看懂MySQL如何查看数据库表容量大小
所属栏目:[MySql教程] 日期:2019-09-20 热度:130
今天主要介绍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-20 热度:122
在微服务架构下,我们对服务进行了拆分,所以用户的每次请求不再是由某一个服务独立完成了,而是变成了多个服务一起配合完成。这种情况下,一旦请求出现异常,我们必须得知道是在哪个服务环节出了故障,就需要对每一个服务,以及各个指标都进行全面的监控[详细]
-
详解Redis慢查询功能:快速定位性能瓶颈
所属栏目:[MySql教程] 日期:2019-09-20 热度:131
Redis数据库是一个基于内存的 key-value存储系统,现在redis最常用的使用场景就是存储缓存用的数据,在需要高速读/写的场合使用它快速读/写,从而缓解应用数据库的压力,进而提升应用处理能力。 许多数据库会提供慢查询日志帮助开发和运维人员定位系统存在[详细]
-
Oracle 推出了完全自治的操作系统
所属栏目:[MySql教程] 日期:2019-09-20 热度:109
Oracle推出了一个完全自治的操作系统 Oracle Autonomous Linux,Autonomous Linux 是以 Oracle Linux 为基础的,它为 Oracle Cloud 和 Oracle 工程系统提供了支持。该操作系统对 Oracle云基础设施客户是免费的。 该公司的一份声明中说: 这将是第一个也是[详细]
-
浅谈DDL技术解密
所属栏目:[MySql教程] 日期:2019-09-20 热度:160
首先,用过数据库的小伙伴们(本文以 MySQL InnoDB 为例)都知道,MySQL 不止有增删改数据操作(DML),还有改表结构的操作(DDL),当新增加字段等修改表结构时,就需要进行 DDL 操作。可是,如果对一个存储了上百万甚至上千上万的数据表进行 DDL 操作,数据库[详细]
-
警惕,MyBatis的size()方法竟然有坑!
所属栏目:[MySql教程] 日期:2019-09-20 热度:146
来源:http://h5ip.cn/aJgJ Mybatis是一个开源的轻量级半自动化ORM框架,使得面向对象应用程序与关系数据库的映射变得更加容易。MyBatis使用xml描述符或注解将对象与存储过程或SQL语句相结合。Mybatis最大优点是应用程序与Sql进行解耦,sql语句是写在Xml M[详细]
-
面试官问:MySQL的自增ID用完了,怎么办?
所属栏目:[MySql教程] 日期:2019-09-20 热度:117
既然这块知识点不清楚,那回头就自己动手实践下。 首先,创建一个最简单的表,只包含一个自增id,并插入一条数据。 createtablet0(idintunsignedauto_incrementprimarykey); insertintot0values(null); 通过show命令 show create table t0; 查看表情况 CRE[详细]