Size: a a a

2020 April 16

А

Александр in ru_mysql
ну если нужны например 3 апдейта, то их инче не сделать
источник

V

Vlad in ru_mysql
Alexander
гуру, подскажите, bin-log файлы должны сами удаляться, после успешной репликации? (схема master-master)
бинлоги не удаляются сами. Лучше поставить expire_logs_days = 5 что бы MySQL удалял старые бинлоги через 5 дней
источник

V

Vlad in ru_mysql
Александр
ну если нужны например 3 апдейта, то их инче не сделать
я о том, что на каждый запрос к базе с помощью prepared statements будет генерится три:
1. Prepare
2. Execute
3. Close
источник

А

Александр in ru_mysql
$stmt = $db->prepare('UPDATE t SET col = ? WHERE id = ?');
foreach ($data as $v) {
 $stmt->execute([$v->col, $v->id]);
}
источник

A

Alexander in ru_mysql
Vlad
бинлоги не удаляются сами. Лучше поставить expire_logs_days = 5 что бы MySQL удалял старые бинлоги через 5 дней
это я уже понял, как мне удалить только те, которые уже не актуальны для реплик?
источник

А

Александр in ru_mysql
Vlad
я о том, что на каждый запрос к базе с помощью prepared statements будет генерится три:
1. Prepare
2. Execute
3. Close
да, но если просто делать exec, то эти 3 этапа будут просто не явно
источник

V

Vlad in ru_mysql
Александр
$stmt = $db->prepare('UPDATE t SET col = ? WHERE id = ?');
foreach ($data as $v) {
 $stmt->execute([$v->col, $v->id]);
}
Штука в том, что даже при наличии prepared statement execute не будет выполняться в MySQL быстрее
источник

V

Vlad in ru_mysql
а вот проблем с prepred statements вы потом нахлебаетесь
источник

А

Александр in ru_mysql
возможно, но тут никак всё равно не обойти
источник

А

Александр in ru_mysql
скажем если надо проапдейтить 100 строк пользовательскими данными
источник

А

Александр in ru_mysql
всё равно придётся делать 100 апдейтов
источник

А

Александр in ru_mysql
хотя можно некоторыми хитрыми способами это в 2мя командами выполнить
источник

V

Vlad in ru_mysql
можно просто включить setAttribute(PDO::MYSQL_ATTR_DIRECT_QUERY, true);
источник

V

Vlad in ru_mysql
и не делать Prepare
источник

GK

Grigori Kochanov in ru_mysql
сделайте проще: замеряйте время в цикле 1000 запросов с prepared statement и без них, все станет понятно
источник

А

Александр in ru_mysql
я думаю с prepared statement будет быстрее
источник

GK

Grigori Kochanov in ru_mysql
я тоже так думал когда-то
источник

V

Vlad in ru_mysql
Александр
я думаю с prepared statement будет быстрее
до трех раз медленее и раутить такие запросы будет сильно (очень сильно) сложнее.
источник

А

Александр in ru_mysql
ну это в целом плохая практика пулять в mysql сотни запросов
источник

GK

Grigori Kochanov in ru_mysql
не, сотни запросов - вполне нормально, это ж OLTP база, а не OLAP, mysql для того и создан
источник