I have a question about how to best design a bookmarkable and permanent URL, with some constraints. I'm designing a website using PHP and MySQL where users can post and edit articles that they've written, and I'm having trouble with the navigation to the "edit" page, specifically what unique information should be in the URL for the page to identify which article is being edited. In my MySQL database, I have a table for all the articles that people have written, with columns "id", "author", "title", and "content". The primary key is "id", which is also the only unique column. With the URL, I want to give the person a bookmarkable, permanent way to edit their article that they won't have to re-bookmark whenever they change their article title. So the article title can't be in the URL, because it could change, and I don't want to put an auto-incrementing "id" in the URL, because it might provide information about how many articles there are.
One thing I've considered is generating a unique random number/string as the "id" for each article, and using it in the URL. However, I don't know if this is a good idea, because I'm not sure what's the best way to generate a unique random number/string, and I'm also not sure if it will be too much of a load on the server. I've seen a number of threads about different ways to generate random unique strings, but I'm wondering which method is the best in terms of minimizing server load or optimizing performance. Would using UUID() in the MySQL code or uniqid() in the PHP code cost more server processing? Which would cost more in terms of storage space in the table, and is that a big enough difference to really matter for a large table with many rows? Is the difference in storage requirements between BIGINT, INT, and CHAR large enough to be important in deciding whether to use a random number or a random string? Are there other performance considerations that I'm missing?
How do people normally deal with this kind of issue? I'd be very grateful for any advice or suggestions on alternative solutions. Thanks in advance.