Long loading queryDynamically-loading interactive tableOptimized QueryAbusive use of long database query?Long SQL query with much duplication between two halves of a UNIONWeb application for a restaurantA class which represents an SQL tableoptimize mysql taking too longGet all company branches using stored procedureC daemon to perpetually cache data from an external APICalculating COUNT(*) of a MAX() + GROUP BY query
If human space travel is limited by the G force vulnerability, is there a way to counter G forces?
iPad being using in wall mount battery swollen
How did the Super Star Destroyer Executor get destroyed exactly?
Is there a hemisphere-neutral way of specifying a season?
Avoiding the "not like other girls" trope?
ssTTsSTtRrriinInnnnNNNIiinngg
How can saying a song's name be a copyright violation?
Extract rows of a table, that include less than x NULLs
Examples of smooth manifolds admitting inbetween one and a continuum of complex structures
Different meanings of こわい
What do you call someone who asks many questions?
Is the myth that if you can play one instrument, you can learn another instrument with ease true?
Avoiding direct proof while writing proof by induction
What does the expression "A Mann!" means
Do UK voters know if their MP will be the Speaker of the House?
How to show a landlord what we have in savings?
Expand and Contract
Is it possible to create a QR code using text?
How would I stat a creature to be immune to everything but the Magic Missile spell? (just for fun)
Why do bosons tend to occupy the same state?
Why doesn't using multiple commands with a || or && conditional work?
What is the most common color to indicate the input-field is disabled?
How to prevent "they're falling in love" trope
Is it logically or scientifically possible to artificially send energy to the body?
Long loading query
Dynamically-loading interactive tableOptimized QueryAbusive use of long database query?Long SQL query with much duplication between two halves of a UNIONWeb application for a restaurantA class which represents an SQL tableoptimize mysql taking too longGet all company branches using stored procedureC daemon to perpetually cache data from an external APICalculating COUNT(*) of a MAX() + GROUP BY query
$begingroup$
i have a query that loads ~1600 lines.
I use in HeidiSQL to run querys (but they are coming from php/mysqli app).
On my test base it takes ~12 seconds to load and on client ~40 seconds (In php id doesnt even compleate).
My question is is my query bad? What coul be otimized?
P.S. I will not post creat querys for tables now as they have lot of columns. Also i did not know if i should leve all paramaeters in select so i did not removed them.
SELECT l.id AS lid, l.doc AS receive_doc, l.thisTransport AS receive_transport, l.productNr AS receive_productNr,
l.activityDate AS receive_date, h.ladingNr AS receive_ladingNr, l.place_count AS receive_place_count,
h.cargo_status AS receive_cargo_status, h.client AS client, e.id AS eid, e.doc AS doc, e.deliverydate AS deliveryDate,
e.activitydate AS activityDate, e.assistant_amount AS assistant_amount, e.amount AS amount, e.productnr AS productNr,
e.productumo AS productUmo, e.status AS status, e.orgline, ni.name1, ni.name2, h.agreements AS agreements, nc.Name,
a.uom AS uom, au.uom AS auuom ,
(select z.status from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as istatus,
(select z.place_count from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iplace_count,
(select z.activityDate from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iactivityDate,
(select z.place_count from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iassistant_amount
FROM cargo_receive AS l
LEFT JOIN ledger_entry AS e
ON e.cargoline = l.id OR e.orgline = l.id
LEFT JOIN header_receive AS h ON l.doc = h.doc
LEFT JOIN lines_agreements AS a
ON h.agreements = a.contractnr
AND e.productnr = a.item
AND e.resource = a.service
LEFT JOIN uom AS au
ON e.productnr = au.productnr
AND au.status = 1
AND au.convert_from = 1
LEFT JOIN customers AS nc
ON h.client=nc.Code
LEFT JOIN items AS ni
ON l.productNr=ni.code
WHERE h.client='1234567' AND h.agreements='AG000001'
GROUP BY l.id
ORDER BY l.activityDate ASC, l.doc
Please help! Thanks in advance!
mysql
New contributor
$endgroup$
add a comment |
$begingroup$
i have a query that loads ~1600 lines.
I use in HeidiSQL to run querys (but they are coming from php/mysqli app).
On my test base it takes ~12 seconds to load and on client ~40 seconds (In php id doesnt even compleate).
My question is is my query bad? What coul be otimized?
P.S. I will not post creat querys for tables now as they have lot of columns. Also i did not know if i should leve all paramaeters in select so i did not removed them.
SELECT l.id AS lid, l.doc AS receive_doc, l.thisTransport AS receive_transport, l.productNr AS receive_productNr,
l.activityDate AS receive_date, h.ladingNr AS receive_ladingNr, l.place_count AS receive_place_count,
h.cargo_status AS receive_cargo_status, h.client AS client, e.id AS eid, e.doc AS doc, e.deliverydate AS deliveryDate,
e.activitydate AS activityDate, e.assistant_amount AS assistant_amount, e.amount AS amount, e.productnr AS productNr,
e.productumo AS productUmo, e.status AS status, e.orgline, ni.name1, ni.name2, h.agreements AS agreements, nc.Name,
a.uom AS uom, au.uom AS auuom ,
(select z.status from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as istatus,
(select z.place_count from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iplace_count,
(select z.activityDate from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iactivityDate,
(select z.place_count from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iassistant_amount
FROM cargo_receive AS l
LEFT JOIN ledger_entry AS e
ON e.cargoline = l.id OR e.orgline = l.id
LEFT JOIN header_receive AS h ON l.doc = h.doc
LEFT JOIN lines_agreements AS a
ON h.agreements = a.contractnr
AND e.productnr = a.item
AND e.resource = a.service
LEFT JOIN uom AS au
ON e.productnr = au.productnr
AND au.status = 1
AND au.convert_from = 1
LEFT JOIN customers AS nc
ON h.client=nc.Code
LEFT JOIN items AS ni
ON l.productNr=ni.code
WHERE h.client='1234567' AND h.agreements='AG000001'
GROUP BY l.id
ORDER BY l.activityDate ASC, l.doc
Please help! Thanks in advance!
mysql
New contributor
$endgroup$
add a comment |
$begingroup$
i have a query that loads ~1600 lines.
I use in HeidiSQL to run querys (but they are coming from php/mysqli app).
On my test base it takes ~12 seconds to load and on client ~40 seconds (In php id doesnt even compleate).
My question is is my query bad? What coul be otimized?
P.S. I will not post creat querys for tables now as they have lot of columns. Also i did not know if i should leve all paramaeters in select so i did not removed them.
SELECT l.id AS lid, l.doc AS receive_doc, l.thisTransport AS receive_transport, l.productNr AS receive_productNr,
l.activityDate AS receive_date, h.ladingNr AS receive_ladingNr, l.place_count AS receive_place_count,
h.cargo_status AS receive_cargo_status, h.client AS client, e.id AS eid, e.doc AS doc, e.deliverydate AS deliveryDate,
e.activitydate AS activityDate, e.assistant_amount AS assistant_amount, e.amount AS amount, e.productnr AS productNr,
e.productumo AS productUmo, e.status AS status, e.orgline, ni.name1, ni.name2, h.agreements AS agreements, nc.Name,
a.uom AS uom, au.uom AS auuom ,
(select z.status from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as istatus,
(select z.place_count from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iplace_count,
(select z.activityDate from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iactivityDate,
(select z.place_count from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iassistant_amount
FROM cargo_receive AS l
LEFT JOIN ledger_entry AS e
ON e.cargoline = l.id OR e.orgline = l.id
LEFT JOIN header_receive AS h ON l.doc = h.doc
LEFT JOIN lines_agreements AS a
ON h.agreements = a.contractnr
AND e.productnr = a.item
AND e.resource = a.service
LEFT JOIN uom AS au
ON e.productnr = au.productnr
AND au.status = 1
AND au.convert_from = 1
LEFT JOIN customers AS nc
ON h.client=nc.Code
LEFT JOIN items AS ni
ON l.productNr=ni.code
WHERE h.client='1234567' AND h.agreements='AG000001'
GROUP BY l.id
ORDER BY l.activityDate ASC, l.doc
Please help! Thanks in advance!
mysql
New contributor
$endgroup$
i have a query that loads ~1600 lines.
I use in HeidiSQL to run querys (but they are coming from php/mysqli app).
On my test base it takes ~12 seconds to load and on client ~40 seconds (In php id doesnt even compleate).
My question is is my query bad? What coul be otimized?
P.S. I will not post creat querys for tables now as they have lot of columns. Also i did not know if i should leve all paramaeters in select so i did not removed them.
SELECT l.id AS lid, l.doc AS receive_doc, l.thisTransport AS receive_transport, l.productNr AS receive_productNr,
l.activityDate AS receive_date, h.ladingNr AS receive_ladingNr, l.place_count AS receive_place_count,
h.cargo_status AS receive_cargo_status, h.client AS client, e.id AS eid, e.doc AS doc, e.deliverydate AS deliveryDate,
e.activitydate AS activityDate, e.assistant_amount AS assistant_amount, e.amount AS amount, e.productnr AS productNr,
e.productumo AS productUmo, e.status AS status, e.orgline, ni.name1, ni.name2, h.agreements AS agreements, nc.Name,
a.uom AS uom, au.uom AS auuom ,
(select z.status from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as istatus,
(select z.place_count from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iplace_count,
(select z.activityDate from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iactivityDate,
(select z.place_count from item_ledger_entry as z where (z.orgLine=l.id OR z.cargoLine=l.id) AND e.doc=l.doc ORDER BY z.id DESC LIMIT 1) as iassistant_amount
FROM cargo_receive AS l
LEFT JOIN ledger_entry AS e
ON e.cargoline = l.id OR e.orgline = l.id
LEFT JOIN header_receive AS h ON l.doc = h.doc
LEFT JOIN lines_agreements AS a
ON h.agreements = a.contractnr
AND e.productnr = a.item
AND e.resource = a.service
LEFT JOIN uom AS au
ON e.productnr = au.productnr
AND au.status = 1
AND au.convert_from = 1
LEFT JOIN customers AS nc
ON h.client=nc.Code
LEFT JOIN items AS ni
ON l.productNr=ni.code
WHERE h.client='1234567' AND h.agreements='AG000001'
GROUP BY l.id
ORDER BY l.activityDate ASC, l.doc
Please help! Thanks in advance!
mysql
mysql
New contributor
New contributor
New contributor
asked 7 mins ago
IngusIngus
1011
1011
New contributor
New contributor
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "196"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Ingus is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216832%2flong-loading-query%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Ingus is a new contributor. Be nice, and check out our Code of Conduct.
Ingus is a new contributor. Be nice, and check out our Code of Conduct.
Ingus is a new contributor. Be nice, and check out our Code of Conduct.
Ingus is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216832%2flong-loading-query%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown