[UPHPU] filter XML content against database
haas at xmission.com
haas at xmission.com
Sat May 2 10:14:28 MDT 2009
Quoting Wade Preston Shearer <wadeshearer.lists at me.com>:
> I have an XML file full of records that match records in a database.
> The XML file contains more records than in the database however. I
> need to read the XML file in, loop through the object, and print our
> each record. I need to filter the XML records by the records in the
> database however; meaning, I only want the records that are also in
> the database. The two ways I have thought to do this are:
>
> 1. Query the database on each loop to check if that record exists.
>
> 2. Create a comma-separated string of the ID all of the XML records
> and then query the database using the IN() function.
>
>
> Both see really inefficient. Can anyone suggest a better way?
Giving the DBMS a SELECT ... IN( ... ) list lets the DBMS optimize the
query based on its internal information and cached data. This will
likely be much faster than making one DBMS call inside a PHP loop.
-- Walt
More information about the UPHPU
mailing list