List:General Discussion« Previous MessageNext Message »
From:Rick James Date:April 17 2012 6:57pm
Subject:RE: forcing mysql to use batched key access (BKA) optimization for
joins
View as plain text  
INDEX(o_orderdate, o_cust_key, o_orderkey)
Would probably help a bunch.

I assume you have indexes (PKs?) on c_custkey, l_order_key, n_nationkey.

Please provide SHOW CREATE TABLE and SHOW STATUS TABLE.

-----Original Message-----
From: Hal?sz S?ndor [mailto:hsv@stripped] 
Sent: Tuesday, April 10, 2012 5:20 PM
To: mysql@stripped
Subject: Re: forcing mysql to use batched key access (BKA) optimization for joins

>>>> 2012/04/10 15:58 -0400, Stephen Tu >>>>
select
  c_custkey,
  c_name,
  sum(l_extendedprice * (100 - l_discount)) as revenue,
  c_acctbal,
  n_name,
  c_address,
  c_phone,
  c_comment
from   CUSTOMER_INT,   ORDERS_INT,   LINEITEM_INT,   NATION_INT
where
  c_custkey = o_custkey
  and l_orderkey = o_orderkey
  and o_orderdate >= date '1994-08-01'
  and o_orderdate < date '1994-08-01' + interval '3' month
  and l_returnflag = 'R'   and c_nationkey = n_nationkey
group by   c_custkey,   c_name,   c_acctbal,   c_phone,   n_name,
c_address,   c_comment
order by   revenue desc limit 20
<<<<<<<<
I understand that MySQL works better if inner joining explicitly is stated, not implicitly
as you have it.

What are your keys, indices? Going by that which I have read & heard, you want every
field named after this query s 'where' an index, if not key--and, of course, your every
field named '...key' is a key, right?


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Thread
forcing mysql to use batched key access (BKA) optimization for joinsStephen Tu10 Apr
  • Re: forcing mysql to use batched key access (BKA) optimizationfor joinshsv11 Apr
    • RE: forcing mysql to use batched key access (BKA) optimization forjoinsRick James17 Apr