Rendering large recordsets

Ask a Question related to ASP Database, Design and Development.

  1. #1

    Default Rendering large recordsets

    I'm trying to work on some performance issues in a couple of areas. The
    scenario is that I have an 8000+ recordset that's returned and intended to
    be written to a drop-down list. This can take up to 10 minutes or more to
    occur. I already have the query in a stored procedure, and I've set up
    disconnected recordsets to try and help as well. With buffering on, there
    doesn't appear to be any action happening, though I'm considering using
    Response.Flush to force a render every 100 records or so, so it doesn't look
    dead to the end user.

    Similarly, I have the same data (with more fields) writing out to a large
    HTML table. I've instituted paging on this, at 100 records per page, but it
    seems like the first load still takes awhile, I'm guessing to load up the
    recordset; it seems to run faster after it gets to the page for the first
    time.

    I found an article on paging methods earlier in the newsgroup that I'm going
    to try for the second issue, but does anyone have any suggestions for the
    first issue? I did try a GetRows dump to an array, but that produced no
    noticable performance improvement. The procedure does come up quickly in
    Query Analyzer as well, so I think it's just the rendering.

    Thanks.

    --

    Kenneth S. McAndrew
    Software Developer, Information Concepts
    [email]kmcandrew@infoconcepts.com[/email]



    Ken McAndrew Guest

  2. Similar Questions and Discussions

    1. rendering <div Oops! rendering div style:display=none
      The default for a certain page I'm working on is to hide a section of the page when it's loaded. So i set a div tag as follows: <div...
    2. ASP Recordsets
      Hi there, i'm developing an ASP SQL application, and was just wondering whether for some reason this limited me to one recordset per page. the...
    3. [Urgent] Is there a size limit on returning a large dataset or a large typed array from web service?
      Is there a size limit on returning a large dataset or a large typed array from web service? I couldn't find any article in MSDN about this..... ...
    4. Persisted XML Recordsets - Disconnected Recordsets - problems
      I have a recordset, client side .ASP that I save as a DOM. I pass to a server side .ASP to reconnect the recordset and update. I keep getting an...
    5. Paging recordsets.
      Hi All win 2k sp4 sql 2k sp3 asp vbscript iis5 I was looking at the ASPfaq(id 2120) the other week and it said that paging recordsets for...
  3. #2

    Default Re: Rendering large recordsets

    I would say that 8000 row in a drop-down list is very excessive.

    It can't be of benefit to the user to have to trawl through 8000 lines to
    get the value they want. Can you not give them a free-text field to use, and
    then validate their input against the data after the event?

    Chris

    "Ken McAndrew" <kmcandrew@infoconcepts.com> wrote in message
    news:u0jBUwwGEHA.1720@tk2msftngp13.phx.gbl...
    > I'm trying to work on some performance issues in a couple of areas. The
    > scenario is that I have an 8000+ recordset that's returned and intended to
    > be written to a drop-down list. This can take up to 10 minutes or more to
    > occur. I already have the query in a stored procedure, and I've set up
    > disconnected recordsets to try and help as well. With buffering on, there
    > doesn't appear to be any action happening, though I'm considering using
    > Response.Flush to force a render every 100 records or so, so it doesn't
    look
    > dead to the end user.
    >
    > Similarly, I have the same data (with more fields) writing out to a large
    > HTML table. I've instituted paging on this, at 100 records per page, but
    it
    > seems like the first load still takes awhile, I'm guessing to load up the
    > recordset; it seems to run faster after it gets to the page for the first
    > time.
    >
    > I found an article on paging methods earlier in the newsgroup that I'm
    going
    > to try for the second issue, but does anyone have any suggestions for the
    > first issue? I did try a GetRows dump to an array, but that produced no
    > noticable performance improvement. The procedure does come up quickly in
    > Query Analyzer as well, so I think it's just the rendering.
    >
    > Thanks.
    >
    > --
    >
    > Kenneth S. McAndrew
    > Software Developer, Information Concepts
    > [email]kmcandrew@infoconcepts.com[/email]
    >
    >
    >

    CJM Guest

  4. #3

    Default Re: Rendering large recordsets

    Unfortunately no, I can't, nor can I limit the dropdown based on some other
    entry. It's not every recordset that has this many, and it comes up alright
    for 1000-2000 records at times. But there will be some, and I've heard the
    possibility of up to 20,000 at a shot. It's only a couple of pages that this
    happens on, but they're not in obscure parts of the application.

    --

    Kenneth S. McAndrew
    Software Developer, Information Concepts
    [email]kmcandrew@infoconcepts.com[/email]


    "CJM" <cjmwork@yahoo.co.uk> wrote in message
    news:OBFi10wGEHA.3360@TK2MSFTNGP12.phx.gbl...
    > I would say that 8000 row in a drop-down list is very excessive.
    >
    > It can't be of benefit to the user to have to trawl through 8000 lines to
    > get the value they want. Can you not give them a free-text field to use,
    and
    > then validate their input against the data after the event?
    >
    > Chris
    >
    > "Ken McAndrew" <kmcandrew@infoconcepts.com> wrote in message
    > news:u0jBUwwGEHA.1720@tk2msftngp13.phx.gbl...
    > > I'm trying to work on some performance issues in a couple of areas. The
    > > scenario is that I have an 8000+ recordset that's returned and intended
    to
    > > be written to a drop-down list. This can take up to 10 minutes or more
    to
    > > occur. I already have the query in a stored procedure, and I've set up
    > > disconnected recordsets to try and help as well. With buffering on,
    there
    > > doesn't appear to be any action happening, though I'm considering using
    > > Response.Flush to force a render every 100 records or so, so it doesn't
    > look
    > > dead to the end user.
    > >
    > > Similarly, I have the same data (with more fields) writing out to a
    large
    > > HTML table. I've instituted paging on this, at 100 records per page, but
    > it
    > > seems like the first load still takes awhile, I'm guessing to load up
    the
    > > recordset; it seems to run faster after it gets to the page for the
    first
    > > time.
    > >
    > > I found an article on paging methods earlier in the newsgroup that I'm
    > going
    > > to try for the second issue, but does anyone have any suggestions for
    the
    > > first issue? I did try a GetRows dump to an array, but that produced no
    > > noticable performance improvement. The procedure does come up quickly in
    > > Query Analyzer as well, so I think it's just the rendering.
    > >
    > > Thanks.
    > >
    > > --
    > >
    > > Kenneth S. McAndrew
    > > Software Developer, Information Concepts
    > > [email]kmcandrew@infoconcepts.com[/email]
    > >
    > >
    > >
    >
    >

    Ken McAndrew Guest

  5. #4

    Default Re: Rendering large recordsets

    You not only have a recordset problem, the html (size) generated would also
    cause the client speed problems. A rethink is in order.


    "Ken McAndrew" <kmcandrew@infoconcepts.com> wrote in message
    news:OIsmRFxGEHA.3096@TK2MSFTNGP11.phx.gbl...
    > Unfortunately no, I can't, nor can I limit the dropdown based on some
    other
    > entry. It's not every recordset that has this many, and it comes up
    alright
    > for 1000-2000 records at times. But there will be some, and I've heard the
    > possibility of up to 20,000 at a shot. It's only a couple of pages that
    this
    > happens on, but they're not in obscure parts of the application.
    >
    > --
    >
    > Kenneth S. McAndrew
    > Software Developer, Information Concepts
    > [email]kmcandrew@infoconcepts.com[/email]
    >
    >
    > "CJM" <cjmwork@yahoo.co.uk> wrote in message
    > news:OBFi10wGEHA.3360@TK2MSFTNGP12.phx.gbl...
    > > I would say that 8000 row in a drop-down list is very excessive.
    > >
    > > It can't be of benefit to the user to have to trawl through 8000 lines
    to
    > > get the value they want. Can you not give them a free-text field to use,
    > and
    > > then validate their input against the data after the event?
    > >
    > > Chris
    > >
    > > "Ken McAndrew" <kmcandrew@infoconcepts.com> wrote in message
    > > news:u0jBUwwGEHA.1720@tk2msftngp13.phx.gbl...
    > > > I'm trying to work on some performance issues in a couple of areas.
    The
    > > > scenario is that I have an 8000+ recordset that's returned and
    intended
    > to
    > > > be written to a drop-down list. This can take up to 10 minutes or more
    > to
    > > > occur. I already have the query in a stored procedure, and I've set up
    > > > disconnected recordsets to try and help as well. With buffering on,
    > there
    > > > doesn't appear to be any action happening, though I'm considering
    using
    > > > Response.Flush to force a render every 100 records or so, so it
    doesn't
    > > look
    > > > dead to the end user.
    > > >
    > > > Similarly, I have the same data (with more fields) writing out to a
    > large
    > > > HTML table. I've instituted paging on this, at 100 records per page,
    but
    > > it
    > > > seems like the first load still takes awhile, I'm guessing to load up
    > the
    > > > recordset; it seems to run faster after it gets to the page for the
    > first
    > > > time.
    > > >
    > > > I found an article on paging methods earlier in the newsgroup that I'm
    > > going
    > > > to try for the second issue, but does anyone have any suggestions for
    > the
    > > > first issue? I did try a GetRows dump to an array, but that produced
    no
    > > > noticable performance improvement. The procedure does come up quickly
    in
    > > > Query Analyzer as well, so I think it's just the rendering.
    > > >
    > > > Thanks.
    > > >
    > > > --
    > > >
    > > > Kenneth S. McAndrew
    > > > Software Developer, Information Concepts
    > > > [email]kmcandrew@infoconcepts.com[/email]
    > > >
    > > >
    > > >
    > >
    > >
    >
    >

    dave Guest

  6. #5

    Default Re: Rendering large recordsets

    Well, considering that your select listalone would be around around 350K
    <option value="something">Something</option> = 44 bytes * 8000 = 352000
    bytes
    Why does it surprise you that your page is slow?

    Bob Lehmann

    "Ken McAndrew" <kmcandrew@infoconcepts.com> wrote in message
    news:u0jBUwwGEHA.1720@tk2msftngp13.phx.gbl...
    > I'm trying to work on some performance issues in a couple of areas. The
    > scenario is that I have an 8000+ recordset that's returned and intended to
    > be written to a drop-down list. This can take up to 10 minutes or more to
    > occur. I already have the query in a stored procedure, and I've set up
    > disconnected recordsets to try and help as well. With buffering on, there
    > doesn't appear to be any action happening, though I'm considering using
    > Response.Flush to force a render every 100 records or so, so it doesn't
    look
    > dead to the end user.
    >
    > Similarly, I have the same data (with more fields) writing out to a large
    > HTML table. I've instituted paging on this, at 100 records per page, but
    it
    > seems like the first load still takes awhile, I'm guessing to load up the
    > recordset; it seems to run faster after it gets to the page for the first
    > time.
    >
    > I found an article on paging methods earlier in the newsgroup that I'm
    going
    > to try for the second issue, but does anyone have any suggestions for the
    > first issue? I did try a GetRows dump to an array, but that produced no
    > noticable performance improvement. The procedure does come up quickly in
    > Query Analyzer as well, so I think it's just the rendering.
    >
    > Thanks.
    >
    > --
    >
    > Kenneth S. McAndrew
    > Software Developer, Information Concepts
    > [email]kmcandrew@infoconcepts.com[/email]
    >
    >
    >

    Bob Lehmann Guest

  7. #6

    Default Re: Rendering large recordsets

    Ken McAndrew wrote:
    > I'm trying to work on some performance issues in a couple of areas.
    > The scenario is that I have an 8000+ recordset that's returned and
    > intended to be written to a drop-down list. This can take up to 10
    You might want to look at my dynamic listbox demo that is available at
    [url]http://www.thrasherwebdesign.com/index.asp?pi=links&hp=links.asp[/url]

    Bob Barrows

    --
    Microsoft MVP -- ASP/ASP.NET
    Please reply to the newsgroup. The email account listed in my From
    header is my spam trap, so I don't check it very often. You will get a
    quicker response by posting to the newsgroup.


    Bob Barrows [MVP] Guest

  8. #7

    Default Re: Rendering large recordsets

    > Unfortunately no, I can't, nor can I limit the dropdown

    You don't have a choice. The browser is simply going to choke on very large
    form elements. No magic trick is going to resolve that. Consider making
    them choose the starting letter, or some kind of wildcard search, and going
    to the server (in a modal window or hidden frame) to build the dropdown
    based on the criteria.


    Aaron Bertrand [MVP] Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139