旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

mysql中什么是大表?什么是大事件?该怎样处置惩罚?【MySQL教程】,事务处理,mysql优化,性能,事务,mysql

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:55评论:0


导读:本篇文章给人人带来的内容是关于mysql中什么是大表?什么是大事件?该怎样处置惩罚?有肯定的参考价值,有须要的朋侪可以参考一下,愿望对你有所协助。媒介相对来讲,什么情况...
本篇文章给人人带来的内容是关于mysql中什么是大表?什么是大事件?该怎样处置惩罚?有肯定的参考价值,有须要的朋侪可以参考一下,愿望对你有所协助。

媒介

相对来讲,什么情况下的数据库表可以称为“大表”呢?

  • 当一个表的数据凌驾千万行的时刻,就会对数据库形成影响

  • 当表数据文件庞大,表数据文件凌驾10G(数据值相对硬件而言)

大表的影响

大表对查询的影响

慢查询:很难在肯定的时候内过滤出所须要的数据
(Eg:显现定单、泉源少、区分度底、大批磁盘IO、下降磁盘效力、慢查询)

大表对DDL操纵的影响

1、竖立索引须要很长时候

风险:

MYSQL版本 < 5.5 竖立索引会锁表
MYSQL版本 >= 5.5 虽然不会锁表但会引发主从耽误

2、修正表构造须要长时候锁表

风险:

会形成长时候的主从耽误
影响一般的数据操纵

怎样处置惩罚数据库中的大表

1、分库分表把一张大表分红多个小表

难点:

分表主键的挑选
分表后跨分区数据的查询和统计

2、大表的历史数据归档

长处:

削减对前后端营业的影响

难点:

归档时候点的挑选
怎样举行归档的操纵

什么是事件?

  • 事件是数据库体系区分于其他统统文件体系的主要特征之一

  • 事件是一组具有原子性的SQL语句,或是一个自力的事情单位

事件请求相符:原子性、一致性、断绝性、持久性

事件的原子性

一个事件必需被视为不可星散的最小事情单位,悉数事件中的一切操纵要么悉数提交胜利,要么悉数失利,关于一个事件来讲,不可能只实行个中的一部分操纵。

Eg:
1、搜检理财账户中的余额是不是高于2000元
2、从理财账户的余额中减去2000元
3、在运动存款账户上增添2000元

悉数事件中的一切操纵要么悉数提交胜利,要么悉数失利回滚。

事件的一致性

一致性是指事件将数据库从一种一致性状况转换到别的一种一致性状况,在事件最先之前和事件完毕后数据库中数据的完整性没有被损坏。

事件的断绝性

断绝性请求一个事件对数据库中数据的修正,在未提交完成之前关于其他事件是不可见的。

SQL规范中定义的四种各种级别(断绝性由低到高)(并发性由高到低)

未提交读(READ UNCOMMITED)
已提交读(READ COMMITED)
可重复读(REPEATABLE READ)
可串行化(SERIALIZABLE)

事件的持久性

一旦事件提交,则其所做的修正就会永久保存到数据库中,此时纵然体系崩溃,已提交的修正数据也不会丧失。

什么是大事件?

运转的时候比较长,操纵的数据比较多的事件

风险:

锁定太多的数据,形成大批的壅塞和锁超时
回滚所须要的时候比较长
实行时候长,轻易形成主从耽误

怎样处置惩罚大事件?

  • 防止一次处置惩罚太多的数据

  • 移出没必要要在事件中的SELECT操纵

以上就是mysql中什么是大表?什么是大事件?该怎样处置惩罚?的细致内容,更多请关注ki4网别的相干文章!

标签:事务处理mysql优化性能事务mysql


欢迎 发表评论: