首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql phpMyadmin超时问题

问Mysql phpMyadmin超时问题
EN

Stack Overflow用户
提问于 2011-03-31 19:31:04
回答 2查看 1.8K关注 0票数 5

我在Mysql中有一个非常大的数据库。我需要以这种方式来维护它。例如,Innodb中大约有300,000条记录。

我将记录解析到数据库中,但现在我需要通过将一些字段类型(例如,long int转换为tinyint等)来优化它。当我通过phpMyadmin运行此命令时,连接在6分钟后停止,并收到连接超时错误?

既然php将请求发送给了mysql,那么mysql不应该不管怎样都在做它的事情,直到它完成吗?那么,即使php页面超时,它仍然可以完成吗?或者当连接超时时,Mysql会放弃请求吗?

我需要通过php在数据库上运行一个过滤器,我希望能够每隔30秒用它在继续搜索时找到的新结果更新页面,但如果用户离开,我仍然希望完成搜索,因为它为该用户创建了一个表。那么,如果他们运行一个查询,并在返回时关闭浏览器,它会继续搜索吗?

以前从来没有使用过像这样的大型数据库,如果用户运行文本搜索,我知道这将需要很长时间。任何见解,/tips或指导将不胜感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-03 15:23:59

通常,您也可以在服务器本身上使用mysql客户端。对于导入的大型数据库,它往往是我的最爱。

代码语言:javascript
复制
mysql -u user -p -h localhost dbname < import.sql

或者在您的情况下进入命令提示符(与phpmyadmin中的SQL窗口相同:

代码语言:javascript
复制
mysql -u user -p -h localhost dbname
票数 1
EN

Stack Overflow用户

发布于 2011-03-31 21:05:48

因此,如果查询没有进入末尾,事务将不会被提交,它将被留下。In InnoDB, all user activity occurs inside a transaction.。

然而,在PHP中,即使用户正在停止web页面,您也可以告诉脚本继续执行。这是通过函数ignore_user_abort()完成的。

但我认为phpMyAdmin并没有提供ignore_user_abort特性。

另一种解决方案是使用异步MySQL查询,但我认为这在PHP语言中是不可能的。Maybe here,但也不是在phpMyAdmin中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5499116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档