Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (4) [1] 2 3 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Проблема с большим количеством запросов
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 20 дней
Карма: 40




Выполняю один простейший запрос на обновление записи в БД, все проходит быстро. Начинаю выполнять 90 штук друг за другом, выходит около 30 секунд. В чем может быть проблема?


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
curious  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 156
Пользователь №: 35462
На форуме: 4 года, 3 месяца, 1 день
Карма: 8




отсутствие индексов + большой объем данных, как одна из причин


--------------------
Чтобы понять как работает тот или иной код, нужно с этим переспать.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 20 дней
Карма: 40




curious, 300 записей в таблице.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
curious  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 156
Пользователь №: 35462
На форуме: 4 года, 3 месяца, 1 день
Карма: 8




может срабатывает тригер на событие update


--------------------
Чтобы понять как работает тот или иной код, нужно с этим переспать.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5557
Пользователь №: 35718
На форуме: 4 года, 2 месяца, 4 дня
Карма: 170




Цитата (chee @ 7.12.2015 - 14:26)
Начинаю выполнять 90 штук друг за другом

это называется "в цикле", характерный признак говнокода biggrin.gif


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 333
Пользователь №: 40589
На форуме: 2 года, 1 месяц, 20 дней
Карма: 21




запросы покажите. вполне вероятно, то, что вы делаете - можно выполнить одним запросом. если ключи правильно расставлены.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5557
Пользователь №: 35718
На форуме: 4 года, 2 месяца, 4 дня
Карма: 170




Цитата (depp @ 7.12.2015 - 14:53)
вполне вероятно, то, что вы делаете - можно выполнить одним запросом

99.9% в пользу одного (двух) запроса(ов)


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 20 дней
Карма: 40




Valick
depp
может к делу, а? Это атомарные запросы, нельзя их выполнить как один, конкретно в приложении. Или валите из темы или отвечайте по делу.

Вот пример, при котором начинается просидания. Это просто пример, бенчмарк при котором наблюдается картина, по факту запросов больше и они другие, но не сильно сложнее.

$timestart = microtime(true);
$sql = "SELECT id FROM opportunities AS o WHERE o.date_entered > '2015-12-07 06:00:00' AND o.deleted = 0";
$rows = dbGetArray($sql);
foreach ($rows as $row) {
$sql = "UPDATE opportunities AS o SET o.deleted = 0 WHERE o.id = " . dbQuote($row['id']);
dbExecute($sql);
}
echo microtime(true) - $timestart;


Еще раз, не надо учить меня писать код, я это делать умею не хуже вас. Проблема чисто в админской плоскости.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5557
Пользователь №: 35718
На форуме: 4 года, 2 месяца, 4 дня
Карма: 170




Цитата (chee @ 7.12.2015 - 14:56)
Или валите из темы или отвечайте по делу.

первое апреля продолжается....
учитывая твою непомерную борзость (которую я могу терпеть только лишь при наличии знаний, а у тебя их нет), 5000р и тут один запрос


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 20 дней
Карма: 40




Valick, ты при**еешь переписывать SugarCRM 7 на один запрос, я это гарантирую, инфа сотка.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5557
Пользователь №: 35718
На форуме: 4 года, 2 месяца, 4 дня
Карма: 170




chee, ты показал кусок кода с запросом и + херова туча запросов в цикле, а я говорю что тут один запрос, нахер мне SugarCRM ?


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
curious  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Местный житель
****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 156
Пользователь №: 35462
На форуме: 4 года, 3 месяца, 1 день
Карма: 8




в данном конкретно случае
update where in ( ids )


--------------------
Чтобы понять как работает тот или иной код, нужно с этим переспать.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 20 дней
Карма: 40




Valick, потому что это пример по типу того, что происходит в реальном приложении. А реальное приложение это SugarCRM 7. Еще вопросы будут?

curious, в данном конкретном случае эта тема для тебя закрыта.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5557
Пользователь №: 35718
На форуме: 4 года, 2 месяца, 4 дня
Карма: 170




chee, можно глупый вопрос? Ты зачем тему создавал?


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1770
Пользователь №: 20757
На форуме: 6 лет, 11 месяцев, 22 дня
Карма: 185




chee
1. Возможно, что таблица сломалась и ее надо починить.
2. При каждом update mysql перестраивает индексы, что сказывается на времени выполнения запроса. Для innodb можно все update запросы запихнуть в транзакцию, тогда индекс обновится для всех запросов одновременно после комита. Для myisam не знаю, вероятно, можно юзать lock table. Еще вариант - это when then.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (4) [1] 2 3 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса