I have my MySQL database having tables where on each table, we have a ID (int, auto increment) clustered primary key and a UUID (varchar36) column that's just a GUID.
The ID is there just for indexing purposes and nothing more.
Joins and all queries will run against the UUID column. That means foreign keys will reference the UUID columns.
Reason I do this is because I want to be able to migrate more easily. I am aware of the size penalty of the GUID.
Question: is this bad architecture? What are the performance implications beyond size?