DX版本为2。0
数据库大小为2G
经常出现以下错误:
Error messages:
•[Type] 无法连接到数据库服务器
•[1203] User czr_database already has more than 'max_user_connections' active connections
Program messages:
•[Line: 0051]forum.php(discuz_core->init)
•[Line: 0065]source/class/class_core.php(discuz_core->_init_db)
•[Line: 0364]source/class/class_core.php(db_mysql->connect)
•[Line: 0764]source/class/class_core.php(db_mysql->_dbconnect)
bbs.chizhouren.com 已经将此出错信息详细记录, 由此给您带来的访问不便我们深感歉意
跟踪了数据库发现占用资源很高的SQL为:
SELECT p.authorid, p.tid, p.pid, p.fid, p.invisible, p.dateline, p.message, t.special, t.status, t.subject, t.digest,t.attachment, t.replies, t.views, t.lastposter, t.lastpost, t.displayorder FROM pre_forum_post p
INNER JOIN pre_forum_thread t ON t.tid=p.tid AND t.fid IN('S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','S')
WHERE p.authorid='S' AND p.first='S' ORDER BY p.dateline DESC LIMIT N,N
这个查询占用资源很高,经常要用5秒左右,这样就导致了数据库假死。
问了一些技术人员,说是POST表的 dateline没有索引导致的。
我看官方的论坛在论坛列表里也去掉了:排序这个功能。是不是这样的?
不知道是不是这样的??
如何处理???
还有下面这个SQL是资源占用第二高的:
SELECT * FROM pre_common_syscache WHERE cname IN ('S')
没办法解决吗???
|