优化更新sql

pull/1733/head
648540858 2024-12-27 10:07:22 +08:00
parent ce73b6feb1
commit 3ea236efdd
4 changed files with 16 additions and 5 deletions

View File

@ -149,7 +149,6 @@ create table wvp_device_channel
record_plan_id integer,
data_type integer not null,
data_device_id integer not null,
constraint uk_wvp_device_channel_unique_data unique (data_type, data_device_id),
constraint uk_wvp_unique_channel unique (gb_device_id)
);

View File

@ -165,7 +165,6 @@ create table wvp_device_channel
record_plan_id integer,
data_type integer not null,
data_device_id integer not null,
constraint uk_wvp_device_channel_unique_data unique (data_type, data_device_id),
constraint uk_wvp_unique_channel unique (gb_device_id)
);

View File

@ -1,6 +1,12 @@
/*
* 20241222
*/
alter table wvp_device_channel
drop index uk_wvp_device_channel_unique_device_channel;
alter table wvp_device_channel
drop index uk_wvp_unique_stream_push_id;
alter table wvp_device_channel
drop index uk_wvp_unique_stream_proxy_id;
alter table wvp_device_channel
add data_type integer not null;
@ -9,15 +15,15 @@ alter table wvp_device_channel
add data_device_id integer not null;
update wvp_device_channel wdc INNER JOIN
(SELECT device_db_id from wvp_device_channel where wdc.id = id and device_db_id is not null ) ct
(SELECT id, device_db_id from wvp_device_channel where device_db_id is not null ) ct on ct.id = wdc.id
set wdc.data_type = 1, wdc.data_device_id = ct.device_db_id where wdc.device_db_id is not null;
update wvp_device_channel wdc INNER JOIN
(SELECT stream_push_id from wvp_device_channel where wdc.id = id and stream_push_id is not null ) ct
(SELECT id, stream_push_id from wvp_device_channel where stream_push_id is not null ) ct on ct.id = wdc.id
set wdc.data_type = 2, wdc.data_device_id = ct.stream_push_id where wdc.stream_push_id is not null;
update wvp_device_channel wdc INNER JOIN
(SELECT stream_proxy_id from wvp_device_channel where wdc.id = id and stream_proxy_id is not null ) ct
(SELECT id, stream_proxy_id from wvp_device_channel where stream_proxy_id is not null ) ct on ct.id = wdc.id
set wdc.data_type = 3, wdc.data_device_id = ct.stream_proxy_id where wdc.stream_proxy_id is not null;
alter table wvp_device_channel drop device_db_id;

View File

@ -2,6 +2,13 @@
* 20241222
*/
alter table wvp_device_channel
drop index uk_wvp_device_channel_unique_device_channel;
alter table wvp_device_channel
drop index uk_wvp_unique_stream_push_id;
alter table wvp_device_channel
drop index uk_wvp_unique_stream_proxy_id;
alter table wvp_device_channel
add data_type integer not null;