MySQL Forums
Forum List  »  Newbie

Re: union and missing limits
Posted by: M B
Date: April 12, 2010 03:48AM

My query is now working great! Even pagination is ok. Time increase is about 0.011 per 10 pages, that's satisfactory because there will not be A LOT of total pages. 60 maybe.
When I started this thread, query time was almost 1 sec.
After playing with indexes and adding limits on inner selects,
delay has dropped to 0.08.

The only problem now is getting total row count. Before I used simply count(*) but
that takes me now to the square one.

I think my solution is SQL_CALC_FOUND_ROWS and FOUND_ROWS.

But again, cannot find the right syntax for those to work correctly.
Not an easy task with those inner/outer selects and UNION.
I can only get 100 rows for total. In my original query it should be 1959.

Here's the simplified query now:

SELECT  user, color, piece, SUM(sum_quantity) AS quantity
    FROM ( 
     (
      SELECT  SQL_CALC_FOUND_ROWS *,
	      test1_loose.user,test1_loose.color,
              test1_loose.piece,sum(test1_loose.quantity) as sum_quantity
        FROM  test1_loose
	GROUP BY user, color, piece
        ORDER BY user
        LIMIT 0,50
        )
      UNION ALL (
      SELECT  test2_boxes.own_user,test3_boxinv.color,
              test3_boxinv.piece,
              sum(test3_boxinv.quantity * test2_boxes.own_quantity) AS sum_quantity
        FROM  test2_boxes,test3_boxinv
        WHERE  test2_boxes.own_item = test3_boxinv.item
	GROUP BY user, color, piece
        ORDER BY user
        LIMIT 0,50 
        )
      ) as uu
    GROUP BY user, color, piece
    ORDER BY user
    LIMIT 0,50

And the PHP part:
$grandtotal=mysql_result(mysql_query("SELECT FOUND_ROWS()"),0);

Options: ReplyQuote


Subject
Written By
Posted
M B
March 27, 2010 04:49AM
March 27, 2010 10:35AM
M B
March 27, 2010 11:45AM
March 28, 2010 12:33PM
M B
March 28, 2010 02:53PM
M B
April 08, 2010 01:02AM
M B
April 08, 2010 01:41AM
April 08, 2010 07:51AM
M B
April 08, 2010 09:11AM
April 09, 2010 12:33AM
M B
April 09, 2010 03:59AM
April 09, 2010 09:42AM
M B
April 09, 2010 01:06PM
April 09, 2010 09:41PM
Re: union and missing limits
M B
April 12, 2010 03:48AM
April 08, 2010 07:56AM
April 08, 2010 08:46AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.