![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
rodendron |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 22.3.2005 Репутация: нет Всего: нет |
Добый день!
Очень прошу вас о помощи, завтра показывать первую часть диплома, а у меня существует проблема следующего характера. Тестировал все на маленьгой БД, 2000 записей, а потом как и положено установил 800 000 и вот оно началось... В общем на запрос уходит по 30-40 минут. При 2000 записей все выполнялось за считанные секунды. Вот сам запрос:
Основная таблица - vagreis. Это в ней было 2000 записей, а сейчас 800000. Я же ставлю LIMIT и по идее у меня запрос же не должен зависеть от кол-ва записей. Что посоветуете сделать? А то проподаю очень сильно.... Помогите пожалуйста как можно скорее... А то еще всю ночь с дизайном водиться ,а тут запрос не клеится. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
А с индексами у тебя как?
Еще ИМХО, запрос облегчить (разбить) постараться. |
|||
|
||||
rodendron |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 22.3.2005 Репутация: нет Всего: нет |
Индексы уже сделаны
![]() На все, что участвует в запросе... ( А разбивать тяжело в том плане что использую вывод постранично и т.д. ... |
|||
|
||||
rodendron |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 22.3.2005 Репутация: нет Всего: нет |
В индексах все поля, которые участвуют в запросе.
С запросом более менее разобрался. Но снова появилась проблема - выборка в phpmyadmin происходит быстрее, чем в своей страничке, где в принципе нет никаких наворотов. Тот же запрос. И еще - создается впечатление, что запрос начинает все дольше и дольше обрабатываться при все новом и новом запросе. То есть - чем больше раз его запускаешь. - Тем дольше. Такое может быть? Или это просто кажется? Но все равно - я на своем компе ощущаю небольшую разницу, оба долго. А у друга - в phpmyadmin - 10 секунд. Через WWW - 5 минут. Что посоветуете сделать? Заранее благодарен за ответ. |
|||
|
||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 2 Всего: 55 |
покажи, как ты на страничке выполняешь запрос?
|
|||
|
||||
rodendron |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 22.3.2005 Репутация: нет Всего: нет |
|
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Заменяем на:
|
||||
|
|||||
Kud |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 30.4.2005 Где: Минск Репутация: нет Всего: нет |
Скорее всего БД еще не освободила ресурсы с прошлого запроса а т.к. ты говоришь, что она большая (таблица) то ей (базе) приходется "ложиться" в своп, для хранения и прошлого и нового резалта.
Такого рода циклы я уже давно отучил себя писать, ибо сильно уж грузит этот mysql_num_rows() а т.к. у тебя строк дофига то он и вызывается дофига раз. Вот кстати: думаю поймешь почему тормозило =) накидай на досуге ....
Это сообщение отредактировал(а) Kud - 2.5.2005, 19:41 |
||||||
|
|||||||
rodendron |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 22.3.2005 Репутация: нет Всего: нет |
Kud, твой код, это как я понял просто пример долгой работы вызова функции?
Добавлено @ 22:58 И в этом вопросе лучше работает:
Добавлено @ 22:59 ? забыл знак вопроса добавить ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 11 Всего: 261 |
Да. |
|||
|
||||
oxygen |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 4.5.2005 Где: Москва, СВАО Репутация: нет Всего: 3 |
кстати как вариант - сделать свертки нужных полей в отдельные таблицы. Что-то типа кэша. Информация будет дублироваться, размер базы расти, но это не так критично как скорость SQL. В свое время мне это здорово помогло.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |