Size: a a a

2020 November 23

DE

Denis Efremov in MySQL
Andrey
но когда я заполню вторую таблицу, скорость станет такой же хреновой..
Тебе же она при апдейте не будет нужна
источник

DE

Denis Efremov in MySQL
Andrey
нет, поэтому в жсоне что бы потом на яп работать с ними
Это делается не так
источник

A

Andrey in MySQL
+ вариантов может и не быть
источник

A

Andrey in MySQL
Denis Efremov
Это делается не так
слушаю
источник

DE

Denis Efremov in MySQL
Ну да ладно. Делай так сначала. Как-нибудь расскажу. Ну или можешь в чате найти. Я уже рассказывал пару раз
источник

A

Andrey in MySQL
Denis Efremov
Ну да ладно. Делай так сначала. Как-нибудь расскажу. Ну или можешь в чате найти. Я уже рассказывал пару раз
по какому кейворду могу найти это в чате?
источник

DE

Denis Efremov in MySQL
Andrey
по какому кейворду могу найти это в чате?
источник

A

Andrey in MySQL
спасибо
источник

IZ

Ilia Zviagin in MySQL
Andrey
Всем привет.
Подскажите, От чего может зависtть время обновления строки в таблице по ид.
В таблице нет индексов (пересчитывать нечего)
Локи не вешаю.
Выбираю по ид. Апдейчу по ид.
Время апдейта растёт с количеством "одновременных" апдейтов в таблицу.
процесслист грузится около минуты и в нем одни апдейты жизнью по 1+сек (до 20 сек доходит иногда)

Таблица весит 30гб
мускул 8
Вот конфиг бд
[mysqld]
wait_timeout=600
max_allowed_packet=1000M
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
default_authentication_plugin=mysql_native_password
max_binlog_size=500M
expire_logs_days=1
skip-log-bin
innodb_buffer_pool_size=15G
slow_query_log=/var/log/mysql/mysql-slow.log
long_query_time=1
От наличия индекса, вот например..
источник

IZ

Ilia Zviagin in MySQL
Andrey
Всем привет.
Подскажите, От чего может зависtть время обновления строки в таблице по ид.
В таблице нет индексов (пересчитывать нечего)
Локи не вешаю.
Выбираю по ид. Апдейчу по ид.
Время апдейта растёт с количеством "одновременных" апдейтов в таблицу.
процесслист грузится около минуты и в нем одни апдейты жизнью по 1+сек (до 20 сек доходит иногда)

Таблица весит 30гб
мускул 8
Вот конфиг бд
[mysqld]
wait_timeout=600
max_allowed_packet=1000M
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
default_authentication_plugin=mysql_native_password
max_binlog_size=500M
expire_logs_days=1
skip-log-bin
innodb_buffer_pool_size=15G
slow_query_log=/var/log/mysql/mysql-slow.log
long_query_time=1
А почему индексов то нет?
источник

A

Andrey in MySQL
Ilia Zviagin
От наличия индекса, вот например..
но индекс влияет на адейт только когда мы изменяем колонку которая в индексе
источник

IZ

Ilia Zviagin in MySQL
Andrey
но индекс влияет на адейт только когда мы изменяем колонку которая в индексе
И кто тебе это сказал то?
источник

A

Andrey in MySQL
Ilia Zviagin
И кто тебе это сказал то?
никто. я так думаю. а это не так?
источник

A

Andrey in MySQL
Andrey
никто. я так думаю. а это не так?
ну т.е. зачем мускулю пересчитывать индекс если он не был изменен
источник

IZ

Ilia Zviagin in MySQL
Andrey
ну т.е. зачем мускулю пересчитывать индекс если он не был изменен
Молодец, светлая  мысль...
источник

IZ

Ilia Zviagin in MySQL
Andrey
но индекс влияет на адейт только когда мы изменяем колонку которая в индексе
Давай теперь разберемся , что тут подразумевает слово "влияет"...
источник

A

Andrey in MySQL
Ilia Zviagin
Давай теперь разберемся , что тут подразумевает слово "влияет"...
увеличивает/уменьшает время выполнения запроса. если мы изменяем колонку которая в индексе - время может увеличться т.к. будет пересчет.
момент когда мы в where указываем не индекс не берем во внимание
источник

IZ

Ilia Zviagin in MySQL
Andrey
увеличивает/уменьшает время выполнения запроса. если мы изменяем колонку которая в индексе - время может увеличться т.к. будет пересчет.
момент когда мы в where указываем не индекс не берем во внимание
Вот допустим в таблице N записей, и ты пишешь свой

Update - какой он там у тебя?
источник

A

Andrey in MySQL
Ilia Zviagin
Вот допустим в таблице N записей, и ты пишешь свой

Update - какой он там у тебя?
не понял вопрос про какой.
update tb set columnNoIndex = 'qwe' where id = 2
источник

IZ

Ilia Zviagin in MySQL
Andrey
не понял вопрос про какой.
update tb set columnNoIndex = 'qwe' where id = 2
Напиши свой запрос update
источник