Unix Technical Forum

Getting data in chunks.

This is a discussion on Getting data in chunks. within the MySQL forums, part of the Database Server Software category; --> undbund wrote: > On Apr 10, 4:54 pm, John Andersen <j.andersen...@gmail.com> wrote: >> On Apr 10, 4:24 am, undbund ...


Go Back   Unix Technical Forum > Database Server Software > MySQL

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #11 (permalink)  
Old 04-11-2008, 01:53 AM
Michael Austin
 
Posts: n/a
Default Re: Getting data in chunks.

undbund wrote:
> On Apr 10, 4:54 pm, John Andersen <j.andersen...@gmail.com> wrote:
>> On Apr 10, 4:24 am, undbund <undb...@gmail.com> wrote:
>>
>>> Hi i am trying to retrive data in chunks like 5 at a time or 10 at a
>>> time. Can anyone guide me to tutorials on how to go about doing this.
>>> Thanks

>> Lookup the LIMIT feature in the MySQL manual.
>> John

>
>
> I have found out how to do this using LIMIT.
>
> Thanks for all your help.
>
> Bye



unless you are doing an ORDER BY (can be extremely expensive CPU-wise if
you have huge tables) - using LIMIT may not give you the correct results
every time. Records in a relational database are NOT inserted in order.

Look at cursors.

A quick google search produced this example (assuming you are using PHP)


<?php
//connect to the database server
$connection = mysql_connect(
$_SESSION['DB_SERVER']
, $_SESSION['DB_USER']
, $_SESSION['DB_PASSWORD']
);
//get the 'cursor'
$cursor = $mysql_query(
'SELECT * FROM table1'
, $connection
);
//browse through the 'cursor'
while(
$row = mysql_fetch_row(
$cursor
)
){
//process records, one by one.
echo('<div>');
foreach(
$row
as $field
) {
echo('<span>');
echo($field);
echo('</span>');
}
echo('</div>');
}
?>
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #12 (permalink)  
Old 04-11-2008, 01:53 AM
Michael Austin
 
Posts: n/a
Default Re: Getting data in chunks.

undbund wrote:
> On Apr 10, 4:54 pm, John Andersen <j.andersen...@gmail.com> wrote:
>> On Apr 10, 4:24 am, undbund <undb...@gmail.com> wrote:
>>
>>> Hi i am trying to retrive data in chunks like 5 at a time or 10 at a
>>> time. Can anyone guide me to tutorials on how to go about doing this.
>>> Thanks

>> Lookup the LIMIT feature in the MySQL manual.
>> John

>
>
> I have found out how to do this using LIMIT.
>
> Thanks for all your help.
>
> Bye


Forgot the reference:
http://rpbouman.blogspot.com/2005/09...ith-mysql.html
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #13 (permalink)  
Old 04-12-2008, 02:05 AM
Gordon Burditt
 
Posts: n/a
Default Re: Getting data in chunks.

>>>> > Lookup the LIMIT feature in the MySQL manual.
>>>> > John
>>>>
>>>> Does anyone know how LIMIT actually works in practice. I would assume
>>>> that the first read would return the first X records starting at record
>>>> 1. When the second read happens does the server physically start at X+1
>>>> and return X records or does it actually re-read the first X records to
>>>> get to the starting point? And the third read? I guess what I'm getting
>>>> at is MySQL

>>
>> It does need to read the records to the extent of figuring out whether
>> they are to be selected, or to sort them to determine order.
>> If the query cache can't be used, it needs to do this on each query.
>>
>>>> smart enough to remember where the last access finished (and if so, how)
>>>> or do we end up reading from the start of the table each time?

>>
>> MySQL is smart enough to NOT make the result of one query depend on
>> invisible variables set by previous queries. LIMIT is not a cursor.
>>

>
>Thats what I suspected, which, in conjunction with the fact that the
>database could change between requests, makes me wonder what you'd actually
>use LIMIT for?


If you want a Top Ten list (or just Top One) of something, it works fine. Just don't ask for the Second Ten.

You can use LOCK TABLES if you need to, but that blocks updates.
I think transactions will also work for InnoDB tables.

Things may change so slowly you don't care. Does missing one entry
in team rankings really matter when the new game scores are only
entered once a week?

Things may change so quickly you don't care. If the list of the Top 10
Most Volatile Stocks usually changes faster than you can refresh the page,
does it really matter if you get 11-20 or 10-19?

Sometimes up-to-date data matters more than an ordering.

Some databases forbid deletions, or the data just doesn't have many
deletions. How many USA states have been deleted in the last few
decades?

If it is likely that you (the user) want to compare adjacent entries,
don't paginate by full pages. For example, show 1-8, then 6-13,
then 11-18, so there is deliberate overlap between pages.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #14 (permalink)  
Old 04-15-2008, 09:32 PM
Michael Austin
 
Posts: n/a
Default Re: Getting data in chunks.

undbund wrote:
> On Apr 10, 4:05 pm, Michael Austin <maus...@firstdbasource.com> wrote:
>> undbund wrote:
>>> Hi i am trying to retrive data in chunks like 5 at a time or 10 at a
>>> time. Can anyone guide me to tutorials on how to go about doing this.
>>> Thanks

>> 5 pink pickles? 5 records? 5 columns? 5 words? 5 bytes?

>
> Obviously if you are retrieving data from MySQL it would be records!
>
> .
>


Not always the case... if you have a CLOB it is one record, but can be
retrieved in parts - and you could retrieve the CLOB 5 bytes at a time..
being specific in your question will get you a more succinct and
correct answer...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 06:55 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com