我将远程主机的mysql开放外网访问,在我本地主机写入数据库的速度是五条每秒,可是远程主机运行相同的代码,可以达到100多条每秒。目前已经尝试过[mysqld]skip-name-resolve的方案,没什么效果,请问我该如何提高mysql的写入速度?
我将远程主机的mysql开放外网访问,在我本地主机写入数据库的速度是五条每秒,可是远程主机运行相同的代码,可以达到100多条每秒。目前已经尝试过[mysqld]skip-name-resolve的方案,没什么效果,请问我该如何提高mysql的写入速度?
根据你的描述,主要原因在带宽上,提升写入速度的方案主要有下面几个
1、增加带宽配置
2、合并写,多条记录一起写入提交,降低io
3、调整数据库日志写入策略,修改参数
sync_binlog = 0
表示binlog不实时刷盘,由操作系统控制什么时候刷新缓存持久化
innodb_flush_log_at_trx_commit = 0
表示不是每一个事务提交时写一次redo
4、调大缓冲池
innodb_buffer_pool_size = 内存的70%
5、优化表结构设计,优化大字段
一定要有自增主键,这个很关键,并发大的时候效果尤为显著
5 回答3.3k 阅读✓ 已解决
3 回答3.7k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
2 回答2.1k 阅读
3 回答2k 阅读
1 回答3.6k 阅读
问题描述我没有理解的特别清晰。
本地连接远程数据库写入速度太慢?而在远程主机上写入时足够快的是吗?
如果是这样子的话,看起来像是网络带宽的原因,在远程主机上执行代码实际上时写入本地,网卡延迟很小。
而在本地写入远程,网络延迟太高了。
解决办法:
insert table(x,y) values (x1,y1),(x2,y2),(x3,y3)
.可以批量插入.