我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何解决mysql性能问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何解决mysql性能问题

这篇文章主要为大家展示了“如何解决mysql性能问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决mysql性能问题”这篇文章吧。

最近项目使用mysql遇到了性能问题。单表400W以上数据时, 增,删,改,查 的速度都明显下降。
我们是做呼叫中心的,平均1秒钟就要处理20个呼叫,所以 最最保守的计算 1秒钟也要对单表进行20次插入操作,还有更多的查询操作,所以对性能要求略高。(有点儿跑题。。。。)
 
遇到了问题就要解决,优化!我们优化的步骤如下(过程中遇到的困难略):
1.优化索引,将所有sql语句,尤其是速度慢的都拿出来分析,一条一条的分析。(利用 EXPLAIN )要让所有查询都使用到索引。
2.优化数据库本身,对my.cnf(my.ini)文件进行优化。但是个人觉得效果不是很明显(请牛人指导。)
   my.cnf文件配置如下。(4核cpu 4G 内存)这个my.cnf 具体问题具体分析,配置起来也有很多事儿比较有讲究的。
  所以需要逐步调试。(切忌不可大量修改后再重启mysql....有可能启动失败。)
 
Java代码 
[client] 
port=3306 
[mysql] 
default-character-set=utf8 
 
[mysqld] 
port=3306 
basedir="D:/Program Files/MySQL/MySQL Server 5.1/" 
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/" 
default-character-set=utf8 
default-storage-engine=INNODB 
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
max_connections=1000 
query_cache_size=120M 
table_cache=1024M 
tmp_table_size=32M 
thread_cache_size=64 
myisam_max_sort_file_size=100G 
myisam_sort_buffer_size=64M 
key_buffer_size=512M 
 
max_allowed_packet = 32M 
max_heap_table_size = 32M 
table_open_cache = 512M 
thread_concurrency = 8 
innodb_lock_wait_timeout = 50 
bulk_insert_buffer_size = 64M 
key_cache_block_size=2048 
 
skip-external-locking 
skip-name-resolve 
 
read_buffer_size=8M 
read_rnd_buffer_size=8M 
 
sort_buffer_size=64M 
 
innodb_additional_mem_pool_size=20M 
innodb_flush_log_at_trx_commit=1 
innodb_log_buffer_size=8M 
innodb_buffer_pool_size=512M 
innodb_log_file_size=24M 
innodb_thread_concurrency=10 
 
3.分表 分表是解决大数据量的最佳方案。
    我们的my 单表400万 以上数据的时候就不符合性能要求了(我们对性能要求有点儿高)。但是我们一天产生的数据量就达到了单表200万。。总不能1天就建立一套表出来吧?? 那1,2年以后 数据库就会有600多套表(一套表有几十张呢,也就是上万张单表),看着都头疼呀。。。。。
 
4.从业务上解决,实现曲线救国。(这也是我们最后采用的方法,这个方法不一定适用其他业务)
   我们的业务是这样,1小时对流水数据结转一次,生成统计数据。
   最后决定生成插入流水数据的时候分2套流水表插入(一套用来保存流水数据,另一套用来结转统计数据。)
   为什么要分成2套呢?
   为了性能,用来保存流水数据的那套表就不去对它进行操作了。(起到备份数据之用。)
   用来结转成统计数据的那套流水表,在结转结束之后就会删除掉以结转的数据。
   这样一来,结转用的那套流水表的数据量就不会持续增长,也就保证了数据结转的效率。
   希望对其他人 有点儿小启示。。。。。。
   请大家不要笑我。。我的mysql 是盗版的。。。没有mysql DBA给我调优。更没有人会给我订制我们专用的mysql
   只能这样曲线救国的解决了。。。。

以上是“如何解决mysql性能问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何解决mysql性能问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL中如何解决慢查询和性能问题

解决MySQL中慢查询和性能问题的方法有很多,以下是一些常见的解决方案:使用合适的索引:索引能够加快数据的检索速度,提高查询性能。在使用索引时,需要根据查询条件和表结构来选择合适的索引类型,避免创建过多或不必要的索引。优化SQL查询语句:对
MySQL中如何解决慢查询和性能问题
2024-03-06

如何利用php函数解决性能问题?

随着互联网的迅速发展和网站用户的不断增加,以及业务逻辑的复杂性增加,很多网站开发者都面临着性能问题。在处理大量请求时,性能问题可能成为一个瓶颈,导致网站的运行速度变慢,用户体验下降。而 PHP 作为一种常用的服务器脚本语言,对于性能问题的处
2023-10-21

mysql性能问题

性能优化的目的是什么呢?(合理利用可利用的资源)性能优化的方向:硬件方面:CPU、内存、IO、网络、硬盘、显卡软件方面:mysql这个软件内部优化,比如sql、算法,一些配置项目方面:需求设计、架构优化、代码优化。优化指标:执行时间:一段代码从开始运行到运行结

	mysql性能问题
2020-05-21

Mysql索引性能优化问题解决方案

mysql 创建的优化就是加索引,可是有时候会遇到加索引都没法达到想要的效果的情况,加上了所以,却还是搜索的全数据,原因是sqlEXPLAIN SELECTcs.sid,-- c.courseFrontTitle,-- c.imgBig,
2022-05-11

如何在Oracle中查找和解决性能问题

在Oracle中查找和解决性能问题通常涉及以下步骤:识别性能问题:首先要确定哪些查询或操作导致了性能问题。可以通过监视系统性能指标、查看数据库日志、使用性能监视工具等方法来识别性能问题。分析性能问题:一旦确定了导致性能问题的查询或操作,就需
如何在Oracle中查找和解决性能问题
2024-04-09

如何解决虚拟机性能下降的问题

增加虚拟机的资源:可以尝试增加虚拟机的内存、CPU等资源,以提高虚拟机的性能。优化虚拟机配置:对虚拟机的配置进行优化,如关闭不必要的服务、调整虚拟机的参数等,以提高虚拟机的性能。使用性能优化工具:可以使用一些性能优化工具对虚拟机进行性能分析
如何解决虚拟机性能下降的问题
2024-06-11

Hibernate性能问题怎么解决

本篇内容主要讲解“Hibernate性能问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hibernate性能问题怎么解决”吧!在使用Hibernate进行分页的过程中,如果你收到如下
2023-06-17

redis一致性问题如何解决

Redis是一个内存数据库,是单进程单线程的,所以它没有复制和分布式的特性。因此,Redis本身并没有提供一致性的解决方案。然而,可以使用以下几种方式解决Redis的一致性问题:1. 主从复制:Redis支持主从复制,可以将一个Redis实
2023-08-20

MySQL如何解决幻读问题

目录前言一、什么是幻读?二、幻读有什么问题?(1)需要单独解决(2)间隙锁引发的并发度三、如何解决幻读?三、总结前言我们知道MySQL在可重复读隔离级别下别的事物提交的内容,是看不到的。而可提交隔离级别下是可以看到别的事务提交的。而如果我们
2022-05-22

编程热搜

目录