How to use properly IN

Discussion in 'Databases' started by deriklogov, Jul 7, 2009.

  1. #1
    Hey
    I got query:
    SELECT count( * ) AS count
    FROM triple_aaa, triple_bbb
    WHERE
    triple_aaa.id =66
    OR triple_aaa.id
    IN (

    SELECT id
    FROM triple_bbb
    WHERE high =64

    )


    without Second Part works very fast:

    SELECT count( * ) AS count
    FROM triple_aaa, triple_bbb
    WHERE
    triple_aaa.id =66


    Difference in 6 seconds, even if the second part getting 0 results and runtime of it is almost 0 seconds:

    SELECT id
    FROM triple_bbb
    WHERE high =64


    But together it takes 6 seconds to run it, I am thinking its not properly used of IN , can you suggest me solution ?
     
    deriklogov, Jul 7, 2009 IP
  2. gregor171

    gregor171 Peon

    Messages:
    15
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    try this:
    SELECT count( * ) AS count
    FROM triple_aaa, triple_bbb
    WHERE
    triple_aaa.id =66
    OR (triple_aaa.id=triple_bbb.in AND triple_bbb.high =64)
     
    gregor171, Jul 13, 2009 IP
  3. deriklogov

    deriklogov Well-Known Member

    Messages:
    1,078
    Likes Received:
    22
    Best Answers:
    0
    Trophy Points:
    130
    #3
    Thank You For Your Replys
    Problem solved
     
    deriklogov, Jul 13, 2009 IP
  4. shaibibutt

    shaibibutt Member

    Messages:
    606
    Likes Received:
    5
    Best Answers:
    0
    Trophy Points:
    35
    #4
    shaibibutt, Jul 20, 2009 IP