如何保证缓存和数据库的一致性?(图)

  很多小伙伴在面试的时候,应该都遇到过类似的问题,如何确保缓存和数据库的一致性?  如果你对这个问题有过研究,应该可以发现这个问题其实很好回答,如果第一次听到或者第一次遇到这个问题,估计会有点懵,今天我们来聊聊这个话题。  1. 问题分析 ...

分享:

从SQL到NoSQL,数据库还要向何处演进?

  在开发一个应用程序时,不可避免要选择使用SQL还是NoSQL数据库来存储数据。传统的数据库,即使用SQL(结构化查询语言)进行查询的关系型数据库,是经过几十年来技术发展、良好实践和现实世界压力测试的产物。它们是为可靠的事务和临时查询而设计的,是业...

#
NoSQL
#
SQL
分享:

Oracle数据库用户权限管理详解

  权限的分类  权限、角色和用户的关系。  权限(privilege):Oracle数据库预先定义好的、执行某些操作的能力。  角色(role):一组相关权限的集合。可以利用角色来简化权限的管理。  用户(user):通过给用户授予适当的权限或角色,用户就能...

分享:

不同的数据库平台,如何取前百分之N的记录(图)

  最近帮业务部门梳理业务报表,其中有个需求是就算某指标等待时间最长的前百分之十,其实就是对等待时长进行倒序排序后,取结果集的前百分之十。  这个需求在SQL Server和Oracle上都很容易实现,甚至是在MySQL 8.0也很容易实现,只是恰好我们业务数据...

分享:

MySQL删除数据的三种方式!(图)

  行数据批量delete时,InnoDB如何处理自增ID的?  这里有一个潜在的大坑。  整个实验步骤如上图:  第一步:建表,设定自增列;  第二步:指定id=1插入,锚定第一行是id是1;  第三步:不指定id,依赖自增机制,插入3行;画外音:此时id应该变...

#
MySQL
分享:

ORACLE 表移动后必须做的事

  概述  移动一张表实际上是一个重组过程,数据库会将原来的数据复制到新的地方。但是如果你发现这个表在移动后性能下降了,可能是你的索引没有重建。本文将指导您找到依赖索引并重建它们。  将表从示例移动到用户  SQL> select tablespace_nam...

#
Oracle
分享:

MySQL自增ID,居然大部分人都搞错了(图)

  《MySQL删除数据的三种方式》中的作业题,99%的人答错,有点出乎意料。画外音:评论中不乏嘲笑知识点简单的小伙伴。  今天简单说下作业题中的答案,以及知识点。  作业题是这样的:  实验步骤如上图:  第一步:建表,设定自增列;  第二步:...

#
MySQL
分享:

MySQL:终于为OS层面的线程命名了(图)

  一、问题来源  最近在检查某个数据库性能的时候,通过top -Hu mysql看到了一个特别奇怪的现象,线程有了自己的名字,我开始以为是哪个大厂自己维护的版本,如下:     PID USER      PR  NI    VIRT ...

#
MySQL
分享:

MySQL 多表联合查询有何讲究?(图)

  1. in VS exists  在正式分析之前,我们先来看两个关键字 in 和 exists。  假设我现在有两张表:员工表和部门表,每个员工都有一个部门,员工表中保存着部门的 id,并且该字段是索引;部门表中有部门的 id、name 等属性,其中 id 是主键,name 是唯...

#
MySQL
分享:

突然掉电,为啥MySQL也不会丢失数据?(图)

  MySQL的buffer一页的大小是16K,文件系统一页的大小是4K,也就是说,MySQL将buffer中一页数据刷入磁盘,要写4个文件系统里的页。  如上图所示,MySQL里page=1的页,物理上对应磁盘上的1+2+3+4四个格。  那么,问题来了,这个操作并非原子,如果执行...

#
MySQL
分享:

你知道数据库能抗多大并发压力吗?(图)

  今天给大家分享一个知识点,是关于MySQL数据库架构演进的,因为很多兄弟天天基于mysql做系统开发,但是写的系统都是那种低并发压力、小数据量的,所以哪怕上线了也就是这么正常跑着而已,但是你知道你连接的这个MySQL数据库他到底能抗多大并发压力吗?如...

#
MySQL
分享:

MySQL 表数据多久刷一次盘?(图)

  前言事情是这样的,在某乎的邀请回答中看到了这个问题:  然后当时我没多想就啪一下写下来这样的答案:  这个其实要通过 MySQL 后台线程来刷的,在 Buffer Pool 中被修改的过的 Page(页)都会被标记成脏页,放到一个链表(Flush 链表)里。  然后 M...

#
MySQL
分享:

2022年有哪些重要的数据库发展趋势?

  过去的几年中创造的数据超过人类以往历史,有效地管理、操纵和保护这些信息资产的需求从未像现在这样重要,这一需求一直由领先的数据库供应商来解决,然而,在过去的十年中,无数的挑战者已经进入了这个战场,扰动着数据爆炸时代的数据库市场秩序。  ...

分享:

五大步骤加十个案例,堪称SQL优化万能公式

  一、前言  随着生产数据的增长,很多SQL语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的SQL就是整个系统性能的瓶颈。  二、SQL优化一般步骤  1、通过慢查日志等定位那些执行效率较低的SQL语句  2、explain 分析SQL的执...

#
SQL
分享:

MySQL 的 binlog 的三种格式这么好玩!(图)

  MySQL 中的日志比较重要的有 binlog(归档日志)、redo log(重做日志)以及 undo log,那么跟我们本文相关的主要是 binlog,另外两个日志松哥将来有空了再和大家详细介绍。  1. binlog  binlog 我们中文一般称作归档日志,如果大家看过松哥之前发的 M...

#
MySQL
分享:

MySQL让人又爱又恨的多表查询(图)

  1. 前言  在SQL开发当中,多表联查是绝对绕不开的一种技能。同样的查询结果不同的写法其运行效率也是千差万别。  在实际开发当中,我见过(好像还写过~)不少又长又臭的查询SQL,数据量一上来查个十几分钟那是家常便饭。  因此,深入理解SQL的多表...

#
MySQL
分享:

14个必知的 MySQL 索引失效场景,别再踩坑了!(下)(图)

  6.类型隐式转换  示例:  explain select * from t_user where id_no = 1002;  explain结果:隐式转换  id_no字段类型为varchar,但在SQL语句中使用了int类型,导致全表扫描。  出现索引失效的原因是:varchar和int是两个种不同的类型。  ...

#
MySQL
分享:

14个必知的 MySQL 索引失效场景,别再踩坑了!(上)(图)

  背景  无论你是技术大佬,还是刚入行的小白,时不时都会踩到Mysql数据库不走索引的坑。常见的现象就是:明明在字段上添加了索引,但却并未生效。  前些天就遇到一个稍微特殊的场景,同一条SQL语句,在某些参数下生效,在某些参数下不生效,这是为什...

#
MySQL
分享:

如何允许用户在 Linux 上访问 MySQL 数据库?

  在Linux 系统上安装 MySQL并创建新数据库后,您需要设置一个新用户来访问该数据库,授予其读取和/或写入数据的权限。  不建议使用 root 帐户,而是根据需要创建一个新帐户并授予权限,在本教程中,您将看到如何允许用户在 Linux 上访问 MySQL 数据库...

#
MySQL
分享:

线上MySQL不可用,报错数据库无法连接(图)

  ERROR 1040(HY000): Too many connections:DB连接池里已有太多连接,不能再和你建立新连接。  数据库自己有个连接池,你的每个系统部署在机器时,那台机器上部署的系统实例/服务实例自己也有个连接池,你的系统每个连接Socket都对应DB连接池里的一个...

#
MySQL
分享:
分享到朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号