• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

SQL Help please

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    #11
    Originally posted by richard-af View Post
    9 times out of 10? Unnecessary table scans??!!!

    I weep for you both. Amateurs.
    If you say so. You's the daddy.

    Comment


      #12
      Originally posted by DimPrawn View Post
      SP, if anyone else disagrees with me, can you please ban them?


      sure thing dp. us amateurs need to stick together.

      Comment


        #13
        Originally posted by DimPrawn View Post
        Don't need to. 9 times out of 10 a join on two columns with appropriate indexes will generate a better execution plan than using IN, which ends up using a hash/match algorithm.
        Possibly. depends if the indexes are used or not. Exists might work better. Who knows? Only can tell when you see the execution plan. For inner joins I agree the indexes will speed things along, I'm not certain a left outer join where the right side is filtered to be empty will be faster than a Exists. Then, if he's using mySQL the Left join AFAIK does something unlike a left outer join.
        McCoy: "Medical men are trained in logic."
        Spock: "Trained? Judging from you, I would have guessed it was trial and error."

        Comment


          #14
          Originally posted by lilelvis2000 View Post
          Possibly. depends if the indexes are used or not. Exists might work better. Who knows? Only can tell when you see the execution plan. For inner joins I agree the indexes will speed things along, I'm not certain a left outer join where the right side is filtered to be empty will be faster than a Exists. Then, if he's using mySQL the Left join AFAIK does something unlike a left outer join.
          Nice try - but I mentioned Execution Plan first. There can be only one, etc.

          Comment


            #15
            chaps,
            Performance isn't a problem unless it's a problem.


            anyway, I quite fancy
            SELECT customerid FROM customer
            MINUS
            SELECT customerid FROM order;

            Comment


              #16
              SQL Server 2005 has an EXCEPT clause which does the same as MINUS.

              Comment


                #17
                Originally posted by thunderlizard View Post
                chaps,
                Performance isn't a problem unless it's a problem.


                anyway, I quite fancy
                SELECT customerid FROM customer
                MINUS
                SELECT customerid FROM order;
                Performance: ... er, and?

                That SQL: Hmmm... 2 potentially big sets of data operated on, battering the DB nicely. Where do you work? I could make a killing, even if I just stopped the lights dimming every time you run your lovely SQL!

                Comment


                  #18
                  potentially big

                  you're inventing your own nonfunctional requirements there.

                  When you go down the shops, do you always drive a 54-seater coach because you could "potentially" meet 53 mates wanting a lift along the way?

                  Comment


                    #19
                    Originally posted by thunderlizard View Post
                    you're inventing your own nonfunctional requirements there.

                    When you go down the shops, do you always drive a 54-seater coach because you could "potentially" meet 53 mates wanting a lift along the way?
                    Size of the data sets was not mentioned, so fair to assume could be large. I win... again.

                    Comment


                      #20
                      Couldn't you just ring up all the customers and ask them if they have any orders? FFS, kids of today....

                      Comment

                      Working...
                      X