For better performance, please remove referring to the extension table in SQL.
codeunit 77005 "Speed Test"
{
trigger OnRun()
begin
FilterOnBaseField;
end;
local procedure "FilterOnBaseField"()
var
SalesLine: Record "Sales Line";
begin
SalesLine.SetCurrentKey("Document Type", "Type", "No.");
SalesLine.setrange("Document Type", SalesLine."Document Type"::Order);
salesLine.SetRange("Type", SalesLine."Type"::Item);
SalesLine.SetRange("No.", '10000');
If SalesLine.FindSet() then
repeat
Message(SalesLine."Document No.");
until SalesLine.Next() = 0;
end;
}
Comments
SELECT "37"."timestamp",
"37"."Document Type",
"37"."Document No_",
"37"."Line No_",
"37"."Sell-to Customer No_",
"37"."Type",
"37"."No_",
"37"."Location Code",
/*Rest of the fields .... */
"37_e1"."K3Document Type",
"37_e1"."K3Outstanding Quantity",
"37_e1"."Status",
"37_e1"."K3 Type",
"37_e1"."K3 No_",
"37"."$systemId"
FROM "Cronusgb".dbo."Cronus UK$Sales Line$437dbf0e-84ff-417a-965d-ed2bb9650972" "37" WITH(READUNCOMMITTED)
JOIN "Cronusgb".dbo."Cronus UK$Sales Line$ef933c61-34d2-4d4e-ada4-6fdf714541ab" "37_e1" WITH(READUNCOMMITTED) ON("37"."Document Type" = "37_e1"."Document Type")
AND ("37"."Document No_" = "37_e1"."Document No_")
AND ("37"."Line No_" = "37_e1"."Line No_")
WHERE("37"."Document Type" = @0
AND "37"."Type" = @1
AND "37"."No_" = @2)
ORDER BY "Document Type" ASC,
"Type" ASC,
"No_" ASC,
"Variant Code" ASC,
"Drop Shipment" ASC,
"Location Code" ASC,
"Shipment Date" ASC,
"Document No_" ASC,
"Line No_" ASC OPTION(OPTIMIZE FOR UNKNOWN, FAST 50);
Category: Development
Business Central Team (administrator)
Thank you for your feedback. We released this feature as part of the functionality in Partial Records.
Please refer to the following link for more information: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-partial-records
Sincerely,
Kennie Nybo Pontoppidan
PM, Microsoft