Size: a a a

2020 November 20

🇻

🇻 🇱 🇦 🇩 in MySQL
я когда o_dsync на o_direct поменял, у меня транзакции полетели, и если на диск писало 7-8мб/с, то стало 150
источник

IZ

Ilia Zviagin in MySQL
Vladimir Eliseev
Ребят, подскажите пожалуйста.
Есть таблица t1, в ней есть поле num.

Мне нужно:
1. найти максимальный num в этом году.
select max(num) as maximus form t1 where year = '2020';

2. вставить новую запись с новым(инкрементированным) номером.
insert .... into t1 values(maximus+1);

Но при этом в условиях согласованного чтения это все не подходит. Ибо одновременно могут другие транзакции читать эти записи.
И вставить, соответственно, запись с одним и тем же номером.

Я пробовал:
select max(num) as maximus form t1 where year = '2020' for update;
Но это бессмысленно, ибо я блокирую эти записи на изменение для других транзакций.
А мне нужно их блокировать на чтение от других транзакций.
Подскажите плз, как это лучше сделать?
А этот запрос только на serializable валидный
источник

IZ

Ilia Zviagin in MySQL
🇻 🇱 🇦 🇩
я когда o_dsync на o_direct поменял, у меня транзакции полетели, и если на диск писало 7-8мб/с, то стало 150
На Юг полетели?
источник

🇻

🇻 🇱 🇦 🇩 in MySQL
Ilia Zviagin
На Юг полетели?
В космос епта
источник

IZ

Ilia Zviagin in MySQL
🇻 🇱 🇦 🇩
В космос епта
Тоже хорошо, первый транзакционный космонавт!
источник

G

Grigorij in MySQL
О, у меня тоже недавно смешно было. Поставил SET GLOBAL innodb_io_capacity=10000; и транзакции полетели :(
источник

G

Grigorij in MySQL
Постучал лбом по столу и пошёл пить виски
источник

VE

Vladimir Eliseev in MySQL
Ilia Zviagin
А этот запрос только на serializable валидный
Ну, да. А у меня repeatable read
источник

IZ

Ilia Zviagin in MySQL
Vladimir Eliseev
Ну, да. А у меня repeatable read
Этого мало
источник

ЛА

Леша А. in MySQL
Приветствую, нужен совет Профессионалов своего дела 😎 если есть большие таблицы (> 100 000 записей, где-то больше 1 000 000) - лучше использовать подзапросы или join? И почему? Спасибо!
источник

V

Vova in MySQL
Леша А.
Приветствую, нужен совет Профессионалов своего дела 😎 если есть большие таблицы (> 100 000 записей, где-то больше 1 000 000) - лучше использовать подзапросы или join? И почему? Спасибо!
join
источник

ЛА

Леша А. in MySQL
Vova
join
Почему? Какой аргумент можно привести человеку? Я тоже так считаю, но у меня еще недостаточно опыта для приведения таких аргументов)
источник

V

Vova in MySQL
Леша А.
Почему? Какой аргумент можно привести человеку? Я тоже так считаю, но у меня еще недостаточно опыта для приведения таких аргументов)
Во-первых подзапрос все равно преобразуется оптимизатором в джоин. Поэтому лучше сразу, оно наглядно чисто и прозрачно
источник

ЛА

Леша А. in MySQL
Vova
Во-первых подзапрос все равно преобразуется оптимизатором в джоин. Поэтому лучше сразу, оно наглядно чисто и прозрачно
даже не знал, что он так преобразуется..
источник

ЛА

Леша А. in MySQL
Vova
Во-первых подзапрос все равно преобразуется оптимизатором в джоин. Поэтому лучше сразу, оно наглядно чисто и прозрачно
Спасибо)
источник

V

Vova in MySQL
Леша А.
Спасибо)
Ещё легче читать, понимать, дебажить
источник

ЛА

Леша А. in MySQL
Vova
Ещё легче читать, понимать, дебажить
ну вот я про тоже, а как доказать человеку, который пишет на подзапросах - не понимаю 😃
источник

V

Vova in MySQL
Леша А.
ну вот я про тоже, а как доказать человеку, который пишет на подзапросах - не понимаю 😃
Канделябром )
источник

ЛА

Леша А. in MySQL
ну можно)) 😃
источник

V

Vova in MySQL
Леша А.
ну вот я про тоже, а как доказать человеку, который пишет на подзапросах - не понимаю 😃
источник