Jump to content

Archived

This topic is now archived and is closed to further replies.

khefner

duplicate records

Recommended Posts

I have a little mysql database that is taking in data from a php input form. What is happening is users are inputing data more than once, creating duplicate records in the database. I think its happening because they are getting impatient waiting for the "submission completed" page to display,and they are hitting the submit button a second time.
What is the best way to eliminate duplicate entries from occuring?

My second question is regarding the time it takes to update the database. It used to take about 10 seconds to update the data from my php form. (Its only text) It now takes about 30 to 45 sec. Could there be a issue with the database now that it has gotten a little bigger that is causing access to slow? It has about 175 records, all of which are text only. (about 12 fields per record)

When I display the contents of the database on a webpage it updates in about 5 to 7 seconds, so it seems the slowdown occurs only when I write to the database. I recall that Microsoft Access had a database optimize function that reduced the size of the file. Perhaps I have to do something like that with the mysql database to speed it up?
Thanks,
Hef

Share this post


Link to post
Share on other sites
A well-written application should never take more than a second to run, unless you are doing some serious data crunching. Correct me if I'm wrong but it sounds like you are not indexing your database at all. If that's the case, you might want to do a little reading.

Share this post


Link to post
Share on other sites
Agreed, but it's hard to time PHP scripts, since PHP and browser overhead is involved. It's trivial to profile the MySQL execution time _within_ the script, though. Either way, 4-5 seconds is reasonable for any page load, so 5-7 is not too far off.

WRT duplicate records, you can easily disable the submit button onsubmit, check the sessionUID / cookie to make sure they haven't submitted, etc.. It's non-trivial to do this properly on the DB end.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.