
正文
mysql超时怎么回事 mysql超时怎么解决
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
mysql数据库检查表经常超时,怎样解决
对查询中经常作为查询条件的字段增加索引,比如说
select * from table1 where name like 'xxx' and create_time '2013-06-01'
这里就可以为name 和 create_time分别创建索引;
ALTER TABLE table1 ADD INDEX `ind_CreateTime` (`create_time`);
ALTER TABLE table1 ADD INDEX `ind_name` (`name`);
2. 优化导致慢查询的SQL语句。可以将一条查询分解为多条小范围的查询,将结果union在一起。尽量减少在where 条件中使用 like or between等运算符
相关问答
Q1: 如何解决MySQL连接超时关闭
经 过这样处理后,可以非常有效的解决MySQL server has gone away这样的问题,而且不会对系统造成额外的开销。 今天遇到类似的情景,MySQL只是冷冷的说:MySQL server has gone away。 大概浏览了一下,主要可能是因为以下几种原因: 一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可。 还有一种可能是因为某些原因导致超时,比如说程序中获取数据库连接时采用了Singleton的做法,虽然多次连接数据库,但其实使用的都是同一个连接,而且程序中某两次操作数据库的间隔时间超过了wait_timeout(SHOW STATUS能看到此设置),那么就可能出现问题。最简单的处理方式就是把wait_timeout改大,当然你也可以在程序里时不时顺手mysql_ping()一下,这样MySQL就知道它不是一个人在战斗。 解决MySQL server has gone away 1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。最常见的就是采集或者新旧数据转化。
Q2: 如何解决mysql 8小时空闲后连接超时的问题
应用程序注册了JDBC驱动,但当程序停止时无法注销这个驱动,tomcat为了防止内存溢出,就给强制注销了。
当应用程序和数据库建立连接时,如果超过了8个小时,应用程序句不会去访问数据库,数据库就会出现断掉连接的现象 。这时再次访问就会抛出异常。
一般的解决方法大多是在数据库连接字符串中增加“autoReconnect=true ”选项。但是这只对mysql4以前的版本有效。
在最新的mysql中是无效的。其实要解决这个问题也有一个简单的方法,就是修改mysql的启动参数。缺省情况下mysql的timeout时间是28800秒,正好是8小时,增加一个0就可以了。
可以在" my.ini"文件中增加此参数:
[mysqld]
interactive_timeout=288000
wait_timeout=288000
mysql超时怎么回事的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql超时怎么解决、mysql超时怎么回事的信息别忘了在本站进行查找喔。







