Re: Query or Array functions [message #176966 is a reply to message #176958] |
Fri, 10 February 2012 14:01 |
Scott Johnson
Messages: 196 Registered: January 2012
Karma:
|
Senior Member |
|
|
On 2/10/2012 12:26 AM, "Álvaro G. Vicario" wrote:
> El 10/02/2012 2:18, Scott Johnson escribió/wrote:
>> First off I am doing this on a back-end admin page.
>> I have a DB with lets say 5000 records and a dozen or more fields.
>>
>> On the page which will display these records I am planning on using
>> pagination to display so many records at once. So far so good.
>>
>> What i would like to do is provide a row above the table of records
>> where the user can enter text to filter the display on each column.
>>
>> I plan to use AJAX and filter as the user types which in itself is not a
>> problem.
>>
>> The problem I see is the numerous DB queries and I don't see querying
>> the DB each time the user types a letter as a practical approach. (I
>> could be wrong).
>>
>> What I was thinking of doing is loading the full record set into an
>> array and then filter out the array of the needed data as the user types.
>>
>> I have not done any intense array manipulations like this before and am
>> wondering if this seems like a practical approach.
>
> If you are worried about retrieving matching rows from a 5000 row DB
> table using a SQL query, I doubt that using a file to store a serialized
> 5000 element bi-dimensional array and looping though it to find matches
> will be faster; not to mention the mess of keeping data up-to-date and
> taking care of concurrent access.
>
> A 10,000,000 record table is a big table. A 5,000 record table is not.
> Just make sure that your SQL knowledge goes beyond "SELECT * FROM foo".
> I've seen too many amateurs in forums building web sites without even
> using the WHERE clause.
>
>
Yeah I was thinking that it would take more processing to use a separate
data set, filter it, reorder it and then display a subset of that would
be a bit cumbersome.
Thomas brought up a good idea to use a timer between key presses that
would limit the queries to a time separation if the user types fast.
Thanks
|
|
|