[後端] 優化sql語法
This commit is contained in:
parent
b4e4321453
commit
f2d6f711f0
@ -57,7 +57,7 @@ namespace Repository.BackendRepository.Implement
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;";
|
||||
await conn.ExecuteAsync(sql);
|
||||
sql = "delete from import_niagara_tag where device_building_tag = '" + b + "'";
|
||||
sql = "delete from import_niagara_tag where device_building_tag = '" + b + "' limit 10000";
|
||||
await conn.ExecuteAsync(sql);
|
||||
}
|
||||
|
||||
@ -200,7 +200,7 @@ namespace Repository.BackendRepository.Implement
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;";
|
||||
await conn.ExecuteAsync(sql);
|
||||
sql = "delete from import_niagara_item where device_building_tag = '" + b + "'";
|
||||
sql = "delete from import_niagara_item where device_building_tag = '" + b + "' limit 10000;";
|
||||
await conn.ExecuteAsync(sql);
|
||||
}
|
||||
#endregion
|
||||
@ -280,18 +280,20 @@ namespace Repository.BackendRepository.Implement
|
||||
using (IDbConnection conn = GetDbConnection())
|
||||
{
|
||||
conn.Open();
|
||||
using (TransactionScope scope = new TransactionScope((TransactionScopeOption)TransactionScopeAsyncFlowOption.Enabled, new TimeSpan(0, 0, 200)))
|
||||
using (TransactionScope scope = new TransactionScope((TransactionScopeOption)TransactionScopeAsyncFlowOption.Enabled))
|
||||
{
|
||||
try
|
||||
{
|
||||
List<NiagaraTags> result;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
StringBuilder sb2 = new StringBuilder();
|
||||
sb.Append($@" SELECT m.*
|
||||
FROM import_niagara_tag m
|
||||
LEFT JOIN device d
|
||||
ON m.niagara_tags = d.device_number
|
||||
WHERE d.device_number IS NULL");
|
||||
sb.Append($@"SELECT m.*
|
||||
FROM import_niagara_tag m
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM device d
|
||||
WHERE m.niagara_tags = d.device_number
|
||||
);");
|
||||
result = (await conn.QueryAsync<NiagaraTags>(sb.ToString())).ToList<NiagaraTags>();
|
||||
|
||||
sb.Clear();
|
||||
@ -366,9 +368,13 @@ namespace Repository.BackendRepository.Implement
|
||||
#endregion
|
||||
|
||||
#region device_node 新增
|
||||
sb.Append($@" SELECT m.* FROM import_niagara_tag m
|
||||
LEFT JOIN device_node d ON m.niagara_tags = d.device_number
|
||||
WHERE d.device_number IS NULL");
|
||||
sb.Append($@" SELECT m.*
|
||||
FROM import_niagara_tag m
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM device_node d
|
||||
WHERE m.niagara_tags = d.device_number
|
||||
);");
|
||||
result = (await conn.QueryAsync<NiagaraTags>(sb.ToString())).ToList<NiagaraTags>();
|
||||
sb.Clear();
|
||||
|
||||
@ -413,7 +419,7 @@ namespace Repository.BackendRepository.Implement
|
||||
UPDATE device
|
||||
SET is_link = 0
|
||||
WHERE is_link = 1 AND device_number NOT IN (SELECT niagara_tags FROM import_niagara_tag);");
|
||||
await conn.ExecuteAsync(sb.ToString(), commandTimeout: 100);
|
||||
await conn.ExecuteAsync(sb.ToString());
|
||||
|
||||
sb.Clear();
|
||||
|
||||
@ -422,7 +428,7 @@ namespace Repository.BackendRepository.Implement
|
||||
UPDATE device_node
|
||||
SET is_link = 0
|
||||
WHERE is_link = 1 AND device_number NOT IN (SELECT niagara_tags FROM import_niagara_tag);");
|
||||
await conn.ExecuteAsync(sb.ToString(), commandTimeout: 100);
|
||||
await conn.ExecuteAsync(sb.ToString());
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
@ -455,7 +461,7 @@ namespace Repository.BackendRepository.Implement
|
||||
FROM import_niagara_item m
|
||||
LEFT JOIN device_item d
|
||||
ON m.device_system_tag = d.device_system_tag and m.device_name_tag = d.device_name_tag and m.device_point_name = d.points and m.device_building_tag collate utf8mb4_0900_ai_ci = d.device_building_tag
|
||||
WHERE d.points IS NULL");
|
||||
WHERE d.points IS NULL;");
|
||||
result = (await conn.QueryAsync<NiagaraTagsForItem>(sb.ToString())).ToList<NiagaraTagsForItem>();
|
||||
|
||||
sb.Clear();
|
||||
|
Loading…
Reference in New Issue
Block a user