2 lv1593570 lv1593570 于 2016.03.15 10:26 提问

Windows下mysql运行慢(innodb)

mfc通过ADO连接mysql,开启连接数为50个。
已经设置过innodb_flush_log_at_trx_commit为2,innodb_buffer_pool_size为1G
目前问题:
1、数据库慢日志时限1s,持续增多,但是查看慢日志,里面只是简单的insert或者是updata语句,很简单的那种,提出来单独运行时间又是0.0x,不明白什么原因。
2、连续执行100+的语句,在程序内的循环,每一个都是一个updata,但是运行时间是10s+,不能接受啊。
3、之前的数据库一直是MSSQL,现在改为MYSQL,发现无法在过程外使用IF和游标,倍感头痛,请问有什么解决办法?
谢谢,麻烦了。

1个回答

oyljerry
oyljerry   Ds   Rxr 2016.03.15 15:35

先看看mysql的性能日志等,是不是有耗时语句导致整体性能下降

lv1593570
lv1593570 err日志没什么东西,只有一些关闭插件的提示,慢日志只有很简单的语句,但是执行时间是1.1左右,大的没有。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
INNODB 重要优化设置【解决慢卡的问题】
1.内存利用方面: 首先介绍一个Innodb最重要的参数: innodb_buffer_pool_size   这个参数和MyISAM的key_buffer_size有相似之处,但也是有差别的。这个参数主要缓存 innodb表的索引,数据,插入数据时的缓冲。为Innodb加速优化首要参数。   该参数分配内存的原则:这个参数默认分配只有8M,可以说是非常小的一个值。如果是一个
mysql innodb count(*)速度慢的几个解决方案
mysql innodb count(*)速度慢且不准确的解决办法innodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据。而innodb必须全表扫描一次方能得到总的数量。要初步解决这个问题,需要做不同于myisam的一些工作: 1、使用第二索引(一般不使用主键索引),并且添...
InnoDB提高数据insert效率
如果local_infile 被禁用,InnoDB中怎么提高insert的效率呢? 1.尽量保持数据有序。减少数据插入时对索引的维护成本。 2.一次插入多条数据。减少日志,降低日志刷新磁盘的频率。减少sql解析次数。 3.在事物中进行插入。 减少事物创建的消耗。但也要控制事物的大小,最好不超过innodb_log_buffer_size。 SET autocommit=0; INSER
MySQL innoDB数据插入性能优化
起因:有一个innoDB引擎的表Table,在一个大概3000次的foreach循环中执行 INSERT INTO Table(columnA, columnB) VALUES (valueA, valueB) 结果居然超出了60S的php执行限制(当然这个限制可以在php.ini中修改),让我很不解为何插入效率如此低下。 经过查找资料以及摸索,得到以下优化方法:
关于数据库写入慢的问题autocommit,索引等对Innodb写入速度的影响
关于线上数据库写入慢问题总结分析   之前安排的说主从延迟是否是写入慢的问题,一直没有思路,最近通过看书《MySQL内核---InnodbDB存储引擎》,有点思路,再网上找,果真有这么的测试。下面其实是网上的一个测试示例,拿过来自己测试了一遍,现在就测试结果总结如下:本次,我们来看看索引、提交频率对InnoDB表写入速度的影响,了解有哪些需要注意的。  先直接说几个结论吧: 1、关于索引对
mysql innodb 性能优化
默认情况下,innodb的参数设置的非常小,在生产环境中远远不够用比如最重要的两个参数innodb_buffer_pool_size 默认是8Minnodb_flush_logs_at_trx_commit 默认设置的是1 也就是同步刷新log(可以这么理解)innodb_buffer_pool_size:这是InnoDB最重要的设置,对InnoDB性能有决定性的影响。
关于mysql innodb count(*)速度慢的解决办法
关于mysql innodb count(*)速度慢的解决办法http://www.sphinxsearch.org/mysql-innodb-countinnodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据。而innodb必须全表扫描一次方能得到总的数量。要初步解决这个问题,需要做不同于myisam的一些工作:<br />1、使用第二索引(一般不使用主键索引),并且添加where条
Windows下开启Mysql慢查询详解
//show variables like '%quer%';查询是否开启了慢查询!! 第一步:修改my.ini(mysql配置文件)   在my.ini中加上下面两句话   log-slow-queries = “D:\wamp\mysql_slow_query.log”   long_query_time=5   第一句使用来定义慢查询日志的路径(因为是windows,所以不
MySQL InnoDb还原(经验总结)
MySql使用 经验总结(如有雷同算我抄你)Part1利用MySql InnoDb还原工具还原innodb数据库,只包含了.frm及.ibd文件,文件使用方法为:—— [ zcgonvh:MySql InnoDb还原工具 ] http://www.zcgonvh.com/post/mysql_innodb_restore.html具体的方法作者已经在它的文章中分享了,不再赘述,本文只是对于作者提
反驳"MySQL InnoDB (不行)的性能问题",千万级别记录来测试说明
原帖:http://hi.baidu.com/jabber/blog/item/4df7e150a0df935c1138c202.html    查看文章