Войти

Показать полную графическую версию : запрос вешающий MySQL


Vlad Drakula
23-12-2004, 23:59
есть запрос:



$mails = $DB_site->query(" SELECT user.email, user.timezoneoffset
FROM subscribethread, user, usergroup, moderator
WHERE ( ( moderator.forumid IN (".addslashes($foruminfo['parentlist']).") AND moderator.userid = user.userid AND moderator.permissions & 32768)
OR ( subscribethread.threadid = ".$threadinfo['threadid']."
AND subscribethread.emailupdate IN (1, 4)
AND subscribethread.userid = user.userid
AND usergroup.usergroupid = user.usergroupid
AND user.usergroupid <> 3
AND (usergroup.genericoptions & ".ISBANNEDGROUP.") = 0))");



может кто объяснить почему это происходит?

mar
24-12-2004, 00:52
Vlad Drakula
а таблицы и связи можно показать?
и сам SQL-запрос без ПХП обрамления (с какой-нибудь конкретной цифирью)?
и что explain говорит, если прямо в базе (а не в ПХП) этот запрос ручками задать?

Vlad Drakula
24-12-2004, 00:59
mar
1) $foruminfo['parentlist'] = 26
2) не... неработает...
3) честно говоря я так и не научился explain :(

Stek
26-12-2004, 01:42
Индексы на полях связки есть ? Limit 10 сделай, не дублируется ли записи из за отсутствия какой либо связки

vadimiron
26-12-2004, 02:40
Индексы на полях связки есть ? Limit 10 сделай, не дублируется ли записи из за отсутствия какой либо связки
Да, наш профессор говорил, что если не правильно организовать связи между таблицами базы данных, то можно базу в цикл загнать
Можно попробывать с меньшим количеством условий в WHERE: и таким образом методом исключения посмотреть, что приводит к неудаче

mar
26-12-2004, 17:30
я боюсь показаться навязчивой, но explain для того и существует, xnj,s именно все это и показывать :) (правда не знаю, что он в случае бесконечного цикла выдаст - надо документацию посмотреть)




© OSzone.net 2001-2012