-
删除一张大表时为什么undo占用空间接近原表两倍?
所属栏目:[MySql教程] 日期:2019-09-23 热度:116
概述 Oracle中,undo是保存记录的前镜像的,我理解如果delete from t;那产生的undo应该和t表的大小差不多,但测试结果却差的很远,undo产生的量基本上是t表大小的两倍,不知道为什么,难道我理解错了?下面看下这个奇怪的现象。 1. delete了8个小时 2. 原[详细]
-
几千万记录,数据库表结构如何平滑变更?
所属栏目:[MySql教程] 日期:2019-09-23 热度:99
继续回答知识星球水友提问。 问题域:数据量大、并发量高场景,如何在流量低峰期,平滑实施表结构变更? 画外音,一般来说,是指增加表的属性,因为: 如果是减column,升级程序不使用即可; 如果是修改column,程序兼容性容易出问题; 首先,一起看下有哪些[详细]
-
你不会还在用这8个错误的SQL写法吧?
所属栏目:[MySql教程] 日期:2019-09-22 热度:191
1、LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。 SELECT* FROMoperation WH[详细]
-
Oracle发布全球最快的数据库机器Exadata X8M
所属栏目:[MySql教程] 日期:2019-09-21 热度:78
Exadata X8M 是第一台具有集成持久内存和 RoCE 的数据库机器。Oracle 还宣布推出 Oracle 零数据丢失恢复设备 X8M(ZDLRA)。 Oracle 发布了新的 Exadata 数据库机器 X8M,旨在为数据库基础架构市场树立新的标杆。 Exadata X8M 结合了英特尔 Optane DC 持久[详细]
-
Oracle和MySQL的JDBC到底有多慢?
所属栏目:[MySql教程] 日期:2019-09-21 热度:80
经常听人说,数据库的IO性能不佳,但说归说,并没有感性认识。我们现在就来实际测试一下,常用的Oracle和MySQL的JDBC读取性能如何。 之所以测试JDBC,是因为大部分应用是JAVA写的,也就只能用JDBC来访问数据。这里仅测试用JDBC读出数据,并产生成Java的记[详细]
-
数据库缓存最终一致性的四种方案
所属栏目:[MySql教程] 日期:2019-09-21 热度:69
背景 缓存是软件开发中一个非常有用的概念,数据库缓存更是在项目中必然会遇到的场景。而缓存一致性的保证,更是在面试中被反复问到,这里进行一下总结,针对不同的要求,选择恰到好处的一致性方案。 缓存是什么 存储的速度是有区别的。缓存就是把低速存储[详细]
-
详解Redis慢查询功能:快速定位性能瓶颈
所属栏目:[MySql教程] 日期:2019-09-18 热度:102
Redis数据库是一个基于内存的 key-value存储系统,现在redis最常用的使用场景就是存储缓存用的数据,在需要高速读/写的场合使用它快速读/写,从而缓解应用数据库的压力,进而提升应用处理能力。 许多数据库会提供慢查询日志帮助开发和运维人员定位系统存在[详细]
-
Oracle 推出了完全自治的操作系统
所属栏目:[MySql教程] 日期:2019-09-18 热度:113
Oracle推出了一个完全自治的操作系统 Oracle Autonomous Linux,Autonomous Linux 是以 Oracle Linux 为基础的,它为 Oracle Cloud 和 Oracle 工程系统提供了支持。该操作系统对 Oracle云基础设施客户是免费的。 该公司的一份声明中说: 这将是第一个也是[详细]
-
浅谈DDL技术解密
所属栏目:[MySql教程] 日期:2019-09-18 热度:192
首先,用过数据库的小伙伴们(本文以 MySQL InnoDB 为例)都知道,MySQL 不止有增删改数据操作(DML),还有改表结构的操作(DDL),当新增加字段等修改表结构时,就需要进行 DDL 操作。可是,如果对一个存储了上百万甚至上千上万的数据表进行 DDL 操作,数据库[详细]
-
警惕,MyBatis的size()方法竟然有坑!
所属栏目:[MySql教程] 日期:2019-09-18 热度:115
来源:http://h5ip.cn/aJgJ Mybatis是一个开源的轻量级半自动化ORM框架,使得面向对象应用程序与关系数据库的映射变得更加容易。MyBatis使用xml描述符或注解将对象与存储过程或SQL语句相结合。Mybatis最大优点是应用程序与Sql进行解耦,sql语句是写在Xml M[详细]
-
面试官问:MySQL的自增ID用完了,怎么办?
所属栏目:[MySql教程] 日期:2019-09-18 热度:84
既然这块知识点不清楚,那回头就自己动手实践下。 首先,创建一个最简单的表,只包含一个自增id,并插入一条数据。 createtablet0(idintunsignedauto_incrementprimarykey); insertintot0values(null); 通过show命令 show create table t0; 查看表情况 CRE[详细]
-
一文带你揭开Redis复制原理的神秘面纱
所属栏目:[MySql教程] 日期:2019-09-17 热度:197
Redis作为一个非结构化的内存数据库,在某些应用场景具备相应优势,在实际的场景设计中也得到广泛的关注和使用。但是,大部分企业的Redis数据库架构为单机运行,没有设计容灾复制,这样对于Redis的容错特性没有发挥出来,而且无持久化情况下,数据存在丢失[详细]
-
详解MySQL查看数据库表容量大小的方法总结
所属栏目:[MySql教程] 日期:2019-09-17 热度:127
概述 今天主要介绍MySQL查看数据库表容量大小的几个方法,仅供参考。 1、查看所有数据库容量大小 SELECT table_schemaAS'数据库', sum(table_rows)AS'记录数', sum(TRUNCATE(data_length/1024/1024,2))AS'数据容量(MB)', sum(TRUNCATE(index_length/1024/1[详细]
-
12个适用于DBA的数据库管理和开发的SQL工具
所属栏目:[MySql教程] 日期:2019-09-17 热度:140
作为Web开发人员或数据库管理员,由于各种原因,经常需要处理SQL语句来探索数据库。比如:查询数据库、构建并执行SQL代码、生成报告、备份、诊断与数据库相关的应用程序问题,使用正确的工具可以加快与数据库相关的任务,并提高工作效率。以下工具使你可以[详细]
-
安全漏洞XSS、CSRF、SQL注入以及DDOS攻击
所属栏目:[MySql教程] 日期:2019-09-17 热度:182
随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面列举一些常见的安全漏洞和对应的防御措施。 0x01: XSS漏洞 1、XSS简介 跨站脚本(cross site script)简称为XSS,是一种经常出现在web应用中的计算机安全漏洞,也是web中[详细]
-
微服务架构下,利用Sharding-jdbc解决读写分离查询延迟问题
所属栏目:[MySql教程] 日期:2019-09-17 热度:107
前言 当Mysql数据库数据达到一定量后,查询SQL执行会变慢起来,除了建索引、优化程序代码以及SQL语句等常规手段外,利用经典MHA数据库中间件做数据库读写分离是一个不错的选择。但是在读写分离架构中会出现一个共性问题:SQL读取延迟。 读写实时场景 比如[详细]
-
MySQL EXPLAIN结果集分析 - 附带大量案例
所属栏目:[MySql教程] 日期:2019-09-17 热度:149
EXPLAIN:查看SQL语句的执行计划 EXPLAIN命令可以帮助我们深入了解MySQL基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用,在优化慢查询时非常有用。 执行explain之后结果集包含如下[详细]
-
一文看懂MySQL如何查看数据库表容量大小
所属栏目:[MySql教程] 日期:2019-09-17 热度:162
今天主要介绍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-17 热度:94
在微服务架构下,我们对服务进行了拆分,所以用户的每次请求不再是由某一个服务独立完成了,而是变成了多个服务一起配合完成。这种情况下,一旦请求出现异常,我们必须得知道是在哪个服务环节出了故障,就需要对每一个服务,以及各个指标都进行全面的监控[详细]
-
关于MySQL数据库清理binlog日志命令总结
所属栏目:[MySql教程] 日期:2019-09-16 热度:111
今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.index错乱,最终导致后期expire-log-days配置项失效。 1. 查看binlog日志 mysqlshowbinarylogs; 2. 删除某个日志文件之前的所有日志文件 purg[详细]
-
MySQL数据库 如果你能面试的时候能回答这些问题月薪2万不是问题
所属栏目:[MySql教程] 日期:2019-09-16 热度:141
汇总面试Mysql岗位容易遇到的提问,如果你正准备面试的公司刚刚好要考察你的数据库认知 能力的话,那么这篇文章最适合你。 2019 年著名的技术问答网站 Stack Overflow 发布了2019年年度开发者调查报告,SQL 在受欢迎的编程语言中排在了第 3 名,大部分的开[详细]
-
海量、多维数据让人抓狂?高效搜索方法看这里
所属栏目:[MySql教程] 日期:2019-09-16 热度:178
人与世界万物的互动会产生大量的时空数据。那么,当我们需要随时调用过去的数据时,改怎么办?尤其是面对各种海量、多维度的数据库,如果没有高效的搜索方法,我们只能望洋兴叹、束手无策。 别担心,本文将用详细的代码,手把手来传授高效搜索法的绝技! 对[详细]
-
MyCat数据库的基础配置及使用
所属栏目:[MySql教程] 日期:2019-09-16 热度:196
一、为什么需要分布式数据据库 随着计算机和信息技术的迅猛发展,行业应用系统的规模迅速扩大,行业应用所产生的数据量呈爆炸式增长,动辄达到数百TB甚至数百PB的规模,已远远超出传统计算技术和信息系统的处理能力,集中式数据库面对大规模数据处理逐渐表[详细]
-
记一次MySQL数据库升级导致授权失败的案例
所属栏目:[MySql教程] 日期:2019-09-13 热度:176
在设置mysql数据库远程登录时碰到设置失败的情况,因为还是第一次见过这种信息,所以记录一下。 报错信息 ERROR3009(HY000):Columncountofmysql.useriswrong.Expected45,found42.CreatedwithMySQL50560,nowrunning50727. Pleaseusemysql_upgradetofixthise[详细]
-
详解MySQL索引使用率监控技巧,值得收藏
所属栏目:[MySql教程] 日期:2019-09-13 热度:129
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 mysql中支持hash和btree索引。innodb和myisam只支持btree索引,[详细]