On Wed, Nov 26, 2008 at 9:06 AM, Wayne Pope
<[EMAIL PROTECTED]> wrote:
> Hi Igor,
>
>>what? why would you ever load the whole dataset?
> just to avoid 2 calls on smallish datasets, especially when there are
> multiple joins and database isnt on the same box.

so you think pushing all that extra data over the network is actually
more efficient then doing another query???? wtf.

>>yeah. because select count() queries are the most expensive queries
>>you can run on the database. you are right, its totally going to kill
>>it. you know how all those sites on the internet that have a pager
>>above the pageable view that shows you the number of the last
>>available page...you know how those work without doing a select
>>count()?
>
> Ouch.
> I just want to limit calls if possible to the database as waiting for i/o's
> is never great for scalability. I'm not 'having a go' at wicket or DataViews
> or anything, just trying to understand it. I never claimed to be a guru -
> far from it.

i can only assume that you have actually profiled your app and that
one select count() call was what was taking a significant chunk of
processing time in the database server? to the point where eliminating
it will actually reduce enough load on the database to increase your
throughput?

-igor

>
> Wayne
>
>
> On Wed, Nov 26, 2008 at 5:58 PM, Igor Vaynberg <[EMAIL PROTECTED]>wrote:
>
>> On Wed, Nov 26, 2008 at 7:32 AM, Wayne Pope
>> <[EMAIL PROTECTED]> wrote:
>> > I'm sure I must be missing something still, as I can't beleive that we
>> need
>> > to either a) load the whole data set
>>
>> what? why would you ever load the whole dataset?
>>
>> b) call count on the Db , then load in
>> > the iterator mehod. Thats going to kill the database in prod (or really
>> not
>> > help.)
>>
>> yeah. because select count() queries are the most expensive queries
>> you can run on the database. you are right, its totally going to kill
>> it. you know how all those sites on the internet that have a pager
>> above the pageable view that shows you the number of the last
>> available page...you know how those work without doing a select
>> count()?
>>
>> -igor
>>
>>
>>
>>
>>
>>
>> >
>> > On Wed, Nov 26, 2008 at 3:58 PM, Michael Sparer <[EMAIL PROTECTED]
>> >wrote:
>> >
>> >>
>> >> have a look at https://issues.apache.org/jira/browse/WICKET-1784
>> >>
>> >>
>> >> Wayne Pope-2 wrote:
>> >> >
>> >> > Ok,
>> >> >
>> >> > I was just having a bit of code clean up and I realized that in our
>> >> > IDataProviders we are loading all rows for a given dataset.
>> >> > So looking at the iterator method I see we can limit the result (and
>> the
>> >> > offset). Great I thought - however I see that that the size() method
>> is
>> >> > called as part of the getViewSize() in the AbstractPageableView. Thus
>> I
>> >> > need
>> >> > to call the database here to figure out the size.
>> >> >
>> >> > Am I doing sonething wrong or have I got to hit the database twice for
>> >> > each
>> >> > DataProvider render.
>> >> >
>> >> > Obvously I don't want to hard code a size. Is there any other way ?
>> >> >
>> >> > Thanks
>> >> > Wayne
>> >> >
>> >> >
>> >>
>> >>
>> >> -----
>> >> Michael Sparer
>> >> http://talk-on-tech.blogspot.com
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/Is-there-any-other-way--DataProviders-must-hit-the-Db-twice-for-%28possible%29-large-datasets-tp20701684p20702476.html
>> >> Sent from the Wicket - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >> ---------------------------------------------------------------------
>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>> >>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to