数据库
文章平均质量分 85
数据库
skydust1979
这个作者很懒,什么都没留下…
展开
-
MySQL-InnoDB究竟如何巧妙实现,4种事务的隔离级别
事务ACID特性,其中I代表隔离性(Isolation)。什么是事务的隔离性?隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。一个事务怎么会干扰其他事务呢?咱们举例子来说明,假设有InnoDB表:t(id PK, name);表中有三条记录:1, shenjian2, zhangsan3, lisicase 1:读脏事务A,先执行,处于未提交的状态:insert i...原创 2021-05-20 12:29:35 · 291 阅读 · 0 评论 -
数据库为什么要分库分表
在文章开头先抛几个问题:(1)什么时候才需要分库分表呢?我们的评判标准是什么?(2)一张表存储了多少数据的时候,才需要考虑分库分表?(3)数据增长速度很快,每天产生多少数据,才需要考虑做分库分表?这些问题你都搞清楚了吗?相信看完这篇文章会有答案。为什么要分库分表?首先回答一下为什么要分库分表,答案很简单:数据库出现性能瓶颈。用大白话来说就是数据库快扛不住了。数据库出现性能瓶颈,对外表现有几个方面: 大量请求阻塞 在高并发场景下,大量请求都需要操作数据库,导致连接数不够了转载 2021-02-21 08:02:10 · 429 阅读 · 0 评论 -
简单、易用的 MySQL 官方压测工具
一、MySQL自带的压力测试工具 Mysqlslapmysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。mysqlslap为mysql性能优化前后提供了直观的验证依据,系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题。1、更改其默认的最大连接数在对MySQL进行压力测试之前,需要更改其默认的最大原创 2021-02-03 08:41:45 · 185 阅读 · 0 评论 -
52条SQL语句性能优化策略
本文会提到 52 条 SQL 语句性能优化策略。1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在WHERE子句中对字段进行NULL值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在WHERE子句中使用 != 或 <> 操作符。MySQL 只有对以下操作符才使用索引:<,<=,=...原创 2021-01-07 16:02:43 · 81 阅读 · 0 评论 -
从中间件到分布式数据库生态,ShardingSphere 5.x革新变旧
距离最后一个 4.x 版本的发布时间已半年有余,在此期间, Apache ShardingSphere 社区对产品不断的打磨和优化,并在刚刚过去的双十一前夕发布了其 5.x 的首个版本—— 5.0.0-alpha。它是 Apache ShardingSphere 从分库分表中间件向分布式数据库生态转化的里程碑。从 4.x 版本后期伊始打磨的可插拔架构在 5.x 版本终见雏型,项目的设计理念和 API 都随之大幅革新。本文将向读者阐述其新一代分布式数据库生态圈的设计理念和产品变革精髓。导读.原创 2020-11-19 20:59:55 · 1983 阅读 · 1 评论 -
不建议在Docker中部署数据库
近 2 年 Docker 非常的火热,各位开发者恨不得把所有的应用、软件都部署在 Docker 容器中,但是您确定也要把数据库也部署的容器中吗?这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,这里整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点。目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着技术的发展能够更加完美的解决方案出现。接下来,我们来讨论一下 Docker 不适合部署数据库的七大原因:1.原创 2020-11-13 21:53:06 · 191 阅读 · 0 评论 -
Mysql悲观锁乐观锁区别使用区别
概念上区别乐观锁(Optimistic Locking):顾名思义,对加锁持有一种乐观的态度,即先进行业务操作,不到最后一步不进行加锁,"乐观"的认为加锁一定会成功的,在最后一步更新数据的时候再进行加锁。悲观锁(Pessimistic Lock):正如其名字一样,悲观锁对数据加锁持有一种悲观的态度。因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会原创 2020-07-31 08:25:46 · 147 阅读 · 1 评论 -
SQL优化笔记分享:34条实用经验可别错过
SQL 优化经验1. 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表,交叉表是指那个被其他表所引用的表。2. WHERE子句中的连接顺序ORACLE...原创 2020-06-15 21:24:07 · 309 阅读 · 0 评论 -
Centos6.8 Mysql 设置自动备份与定期删除备份文件 自测部署安装
mkdir -p/bak/mysql_bakmkdir -p /bak/file_bakcd /bak#建立自动备份执行文件vi glpi_mysqlbak.sh #!/bin/bash#设置连接数据库参数db_user="root"db_passwd="123456"db_name="glpi"#设置备份数据库参数backup_mysql="/bak/mysql_bak" #设置数据库备份目录ba...原创 2020-05-08 20:40:33 · 243 阅读 · 0 评论