mysql 事务写入速度很慢,有什么办法能加速?

mysql 事务写入速度很慢,有什么办法能加速?,第1张

mysql5的手册中提到,插入一条记录,所需的时间比例大概是:

连接:(3)

发送查询给服务器:(2)

分析查询:(2)

插入记录:(1x记录大小)

插入索引:(1x索引)

关闭:(1)

并且表的大小以logN(B树)的速度减慢索引的插入,因此提高插入速度的方法大概有以下7种:

一个insert语句包含多个value值;

使用insert delayed方法;

使用insert into ...values(select ...from),即select的同时执行insert;

使用load data infile;

先禁掉索引,插入后再创建索引;

写锁表,插入,解锁。原因是索引缓存区仅在所有insert语句完成后才刷新到磁盘上一次;

增加key_buffer_size值来扩大键高速缓冲区。

您好,MySQL事务对查询有着重要的影响。MySQL事务是一种数据库技术,它可以保证一组SQL语句在执行过程中的原子性,即要么全部执行,要么全部不执行。这意味着,当您使用MySQL事务时,您可以确保您的查询不会被中断,从而保证查询的完整性和一致性。MySQL事务还可以帮助您控制数据库的可用性,确保您的查询不会被其他用户的 *** 作所干扰。此外,MySQL事务还可以帮助您控制数据库的安全性,确保您的查询不会被未经授权的用户访问。总之,MySQL事务对查询有着重要的影响,它可以帮助您更好地控制数据库的可用性、一致性和安全性。

1、原子性(Atomicity)原子性是指事务包含的所有 *** 作要么全部成功,要么全部失败回滚,因此事务的 *** 作如果成功就必须要完全应用到数据库,如果 *** 作失败则不能对数据库有任何影响。

2、 一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。

拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。

3、隔离性(Isolation)隔离性是当多个用户并发访问数据库时,比如 *** 作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的 *** 作所干扰,多个并发事务之间要相互隔离。

即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。

4、持久性(Durability)持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的 *** 作。

扩展资料

MyISAMMySQL5.0之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定,MySQL5.5起成为默认数据库引擎BDB源自BerkeleyDB,事务型数据库的另一种选择,支持Commit和Rollback等其他事务特性Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。

但是会占用和数据量成正比的内存空间。并且其内容会在MySQL重新启动时丢失Merge将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用Archive非常适合存储大量的独立的,作为历史记录的数据。

因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差Federated将不同的MySQL服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8656785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存