【发布时间】:2010-11-09 15:16:09
【问题描述】:
朋友们,美好的一天。我在 32b 机器上运行 Fedora 13。
我有一个巨大的 1.5B ip 地址表(当我有资源时会分开,别担心;))。当我运行这个查询时:
SELECT ip FROM ips ORDER BY RAND() LIMIT 500000;
有时表崩溃(我收到错误“MySQL 表被标记为崩溃并且应该修复”),有时它不会。我的问题是;什么样的事情会导致 MyISAM 或 InnoDB 表崩溃?记忆有影响吗?因为我的系统监视器显示它只使用了大约 30%。
这里是 my.cnf(默认,从元包安装):
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
还有;我听说 PostGreSQL “更健壮”并且不会像 MySQL 在这些情况下那样崩溃。这是真的还是妻子的故事?
【问题讨论】:
-
你能更准确地定义“崩溃”吗?查询是根本没有返回,还是您收到错误消息,还是整个机器都挂了或...
-
我在交互式终端中运行查询时收到错误“MySQL 表已标记为崩溃并应修复”。
-
更改标题。接受的答案和其他答案与标题无关!