Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

Here’s an even more clever solution, I think:

Now, just read the rows.   If the first ID that comes back is, say, 50, then you know that IDs 1-49 are not in the table.   Read some more, and say you get 51, 52, 53, 60.   Okay, the next range of missing IDs is therefore 54-69.   Any time there is a gap in the returned sequence (when using ORDER BY), the keys in that space do not exist.

Furthermore, if the rows are indexed by this field, using the customary B-tree style index, then SQL does not have to physically sort the rows; it simply reads them in index order.   (Use the EXPLAIN verb, separately (not in your program), to confirm that this is what it will do.)

It’s an old (punched...) card trick.

If you find that the table is not so conveniently indexed and you are willing to scan it multiple times, you could read ranges of IDs, note them in a hash, and then loop through that range, one value at a time, finding the keys that are not in your hash.   Then empty the hash and repeat.   Grabbing 10,000 records or more in each chunk should not be a concern.

In reply to Re: Help with database query by sundialsvc4
in thread Help with database query by htmanning

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    [marto]: in marto's scratchpad should I see a patching ... for each file it has successfully patched? I note that I don't get that line for the ones which claim to be read only
    [marto]: perlbrew installing 5.10.1 to investigate this

    How do I use this? | Other CB clients
    Other Users?
    Others scrutinizing the Monastery: (6)
    As of 2018-03-22 10:00 GMT
    Find Nodes?
      Voting Booth?
      When I think of a mole I think of:

      Results (273 votes). Check out past polls.