我有一个性能不佳的查询...我做错了什么?请帮助我,它在我的系统中执行了无数次,解决后将带给我通往天堂的阶梯
我使用sp_Blitz对系统进行了检查,未发现任何致命问题
这是查询:
SELECT MAX(F.id) OVER (PARTITION BY idstato ORDER BY F.id DESC) AS id
FROM jfel_tagxml_invoicedigi F
INNER JOIN jfel_invoice_state S ON F.id = S.idinvoice
WHERE S.idstato = @idstato
AND S.id = F.idstatocorrente
AND F.sequence_invoice % @number_service_installed = @idServizio
ORDER BY F.id DESC,
F.idstatocorrente OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY;
Run Code Online (Sandbox Code Playgroud)
这是查询计划
https://www.brentozar.com/pastetheplan/?id=SyYL5JOeE
我可以私下向您发送我的系统属性
更新:进行了一些修改,它是更好,但我认为可能会更好...这是新的查询:
SELECT MAX(F.id) AS id
FROM jfel_tagxml_invoicedigi F
INNER JOIN jfel_invoice_state S ON F.id = S.idinvoice
WHERE S.idstato = @idstato
AND S.id = F.idstatocorrente …Run Code Online (Sandbox Code Playgroud) 我通过链接服务器从我的 sql server 2017 Standard 查询远程 postgresql 服务器时出错
这是查询:
SELECT CAST(test AS VARCHAR(MAX)) FROM OpenQuery(xxxx,
'SELECT corpo::TEXT as test From public.notification')
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
Msg 7347, Level 16, State 1, Line 57
OLE DB provider 'MSDASQL' for linked server 'xxx' returned data that does not match expected data length for
column '[MSDASQL].test'. The (maximum) expected data length is 1024, while the returned data length is 7774.
Run Code Online (Sandbox Code Playgroud)
即使没有转换,错误仍然存在
对于 odbc 和链接服务器,我遵循了这个方便的指南。
我正在尝试按范围(创建日期)在一个巨大的表中自动执行 Postgres 10 中的分区。
我注意到没有自动创建分区表,因此我想编写一个过程来自动创建这些表。
我在想这样的事情:
CREATE OR REPLACE FUNCTION cdi.automating_partitions()
RETURNS TABLE(natural_id text, name text, natural_id_numeric text) AS
$func$
DECLARE
formal_table text;
BEGIN
FOR formal_table IN
select '2017-01-01'::date + (n || ' months')::interval months,
'2013-02-01'::date + (n || ' months')::interval monthsplus
from generate_series(0, 12) n
LOOP
RETURN QUERY EXECUTE
'CREATE TABLE cdi.' || 'document' || to_char(months, 'YYYY') || '' || to_char(months, 'MM') || ' PARTITION OF cdi.document
FOR VALUES FROM (''' || to_char(months, 'YYYY') || to_char(months, 'MM') || ''', …Run Code Online (Sandbox Code Playgroud)