MM-43045: minimize JOIN Posts (#19934)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
348602cf00
Коммит
5bd223c836
14
db/migrations/mysql/000081_threads_deleteat.down.sql
Обычный файл
14
db/migrations/mysql/000081_threads_deleteat.down.sql
Обычный файл
@@ -0,0 +1,14 @@
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
EXISTS(
|
||||
SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS
|
||||
WHERE table_name = 'Threads'
|
||||
AND table_schema = DATABASE()
|
||||
AND column_name = 'DeleteAt'
|
||||
) > 0,
|
||||
'ALTER TABLE Threads DROP COLUMN DeleteAt;',
|
||||
'SELECT 1;'
|
||||
));
|
||||
|
||||
PREPARE removeColumnIfExists FROM @preparedStatement;
|
||||
EXECUTE removeColumnIfExists;
|
||||
DEALLOCATE PREPARE removeColumnIfExists;
|
||||
19
db/migrations/mysql/000081_threads_deleteat.up.sql
Обычный файл
19
db/migrations/mysql/000081_threads_deleteat.up.sql
Обычный файл
@@ -0,0 +1,19 @@
|
||||
SET @preparedStatement = (SELECT IF(
|
||||
NOT EXISTS(
|
||||
SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE table_name = 'Threads'
|
||||
AND table_schema = DATABASE()
|
||||
AND column_name = 'DeleteAt'
|
||||
),
|
||||
'ALTER TABLE Threads ADD COLUMN DeleteAt bigint(20);',
|
||||
'SELECT 1;'
|
||||
));
|
||||
|
||||
PREPARE addColumnIfNotExists FROM @preparedStatement;
|
||||
EXECUTE addColumnIfNotExists;
|
||||
DEALLOCATE PREPARE addColumnIfNotExists;
|
||||
|
||||
UPDATE Threads, Posts
|
||||
SET Threads.DeleteAt = Posts.DeleteAt
|
||||
WHERE Posts.Id = Threads.PostId
|
||||
AND Threads.DeleteAt IS NULL;
|
||||
1
db/migrations/postgres/000081_threads_deleteat.down.sql
Обычный файл
1
db/migrations/postgres/000081_threads_deleteat.down.sql
Обычный файл
@@ -0,0 +1 @@
|
||||
ALTER TABLE threads DROP COLUMN IF EXISTS deleteat;
|
||||
2
db/migrations/postgres/000081_threads_deleteat.up.sql
Обычный файл
2
db/migrations/postgres/000081_threads_deleteat.up.sql
Обычный файл
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE threads ADD COLUMN IF NOT EXISTS deleteat bigint;
|
||||
UPDATE threads SET deleteat = posts.deleteat FROM posts WHERE threads.deleteat IS NULL AND posts.id = threads.postid;
|
||||
Ссылка в новой задаче
Block a user