Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
20.08.2019, 13:07
|
|||
---|---|---|---|
|
|||
Апдейт с селектом слишком медленно работает |
|||
#18+
Всем привет. Стоит задача за один запрос найти самый большой ID и модифицировать записи. Код: plaintext 1. 2. 3. 4. 5. 6.
Каждый из этих запросов в отдельности выполняется за тысячные доли секунды, а вместе 5-8 секунд. Все индексы есть. Что может быть не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 13:26
|
|||
---|---|---|---|
Апдейт с селектом слишком медленно работает |
|||
#18+
Rom1Что может быть не так?Перепишите на многотабличный запрос. Версия сервера какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 13:31
|
|||
---|---|---|---|
|
|||
Апдейт с селектом слишком медленно работает |
|||
#18+
4.6.6deb4 Explain дает следующее, но я не очень понимаю вывод (прикрепляю) Переписал на два отдельных запроса: поиск наибольшего ID, апдейт записи - всё работает быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 13:32
|
|||
---|---|---|---|
|
|||
Апдейт с селектом слишком медленно работает |
|||
#18+
Извиняюсь, вот версия MySQL: 10.1.23-MariaDB-9+deb9u1 - Debian 9.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 13:39
|
|||
---|---|---|---|
Апдейт с селектом слишком медленно работает |
|||
#18+
Поясните логику тут происходящего - мне кажется, запрос сложнее, чем должен быть. Т.е. покажите исходную структуру, пример наполнения, объясните, что требуется, и покажите желаемый результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 13:41
|
|||
---|---|---|---|
Апдейт с селектом слишком медленно работает |
|||
#18+
А ещё лучше - рассмотрите возможность обновления сервера. Хотя бы до версии 10.2.2. Без оконных функций жить тоскливо... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 13:44
|
|||
---|---|---|---|
|
|||
Апдейт с селектом слишком медленно работает |
|||
#18+
Akina, Логика-то простая: 1. Найти максимальный ID Код: plaintext 1. 2. 3. 4.
2. Проапдейтить запись по этому ID Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 13:50
|
|||
---|---|---|---|
|
|||
Апдейт с селектом слишком медленно работает |
|||
#18+
Rom1за один запрос Это плохая религия, откажитесь от неё. Или в MySQL до сих пор нет TIL стабильнее чем read committed?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 14:14
|
|||
---|---|---|---|
Апдейт с селектом слишком медленно работает |
|||
#18+
У update есть свои order by и limit. Select не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 14:45
|
|||
---|---|---|---|
Апдейт с селектом слишком медленно работает |
|||
#18+
Rom1Логика-то простаяТогда я в упор не понимаю, зачем огород городить с подзапросами вместо простого и очевидного Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 14:48
|
|||
---|---|---|---|
|
|||
Апдейт с селектом слишком медленно работает |
|||
#18+
Akina, miksoft А вот про это я не знал. Выглядит костылем конечно, проверю как работает. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 14:49
|
|||
---|---|---|---|
Апдейт с селектом слишком медленно работает |
|||
#18+
Rom1Выглядит костылем конечноС чего бы? Это штатный синтаксис, смотрите в доке. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 15:00
|
|||
---|---|---|---|
|
|||
Апдейт с селектом слишком медленно работает |
|||
#18+
miksoft, Да, действительно, в Firebird такой синтаксис тоже появился (или был?) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 15:09
|
|||
---|---|---|---|
Апдейт с селектом слишком медленно работает |
|||
#18+
Rom1miksoft, Да, действительно, в Firebird такой синтаксис тоже появился (или был?)про Firebird не знаю, уже много лет с ним дела не имел. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.08.2019, 16:23
|
|||
---|---|---|---|
Апдейт с селектом слишком медленно работает |
|||
#18+
Rom1Всем привет. Стоит задача за один запрос найти самый большой ID и модифицировать записи. Код: plaintext 1. 2. 3. 4. 5. 6.
Каждый из этих запросов в отдельности выполняется за тысячные доли секунды, а вместе 5-8 секунд. Все индексы есть. Что может быть не так? Интересно, как это внешний UPDATE может выполняться без внутренноего SELECT? Он просто бессмысленен будет. Так что не дури себе и людям голову, ты просто неверно мериишь время, так что .... Теперь о запросе. Запрос должен быть такой: Код: sql 1. 2. 3.
в таблице должны быть индексы по framedipaddress и по ID ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&tablet=1&tid=1829012]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 303ms |
total: | 439ms |
0 / 0 |