Complexity without explanation is subjective. Without context information has no value.
Time of experience does not mean quality.
"Do this" without explanation serves for nothing.
"vc uses RAND(), this scans the entire table to return a single user to you"
It is correct, it means that the performance will suffer, will make a reading in all table taking all the existing lines in it and then one of them will be selected to deliver you. People think you’ll read only one line, but that’s a mistake.
Probably the solution in the application is more appropriate. But there is a specific problem that is not the focus of the question.
"and never use a SELECT *"
Myth.
"and you probably don’t use indexes",
Indexes are fundamental to give performance. If created correctly, of course.
It is equal to a remissive index of a book, if you need to find an important word in the book you have two options: search for all words in the whole book or look at the index that is in alphabetical order and because of this you can get quickly to where you want, then the index tells you which page the information you want is on. A lot faster, right?
Wrong bred can bring more harm than good.
"you probably don’t optimize my.cnf"
This file has a number of parameters that can make the database server work better or worse according to what you need. For a few volumes it will make little difference. If you don’t have much experience handling it it will probably bring bad results. Trying to explain something useful will be absurdly long.
This guy doesn’t seem to be your friend...
– Andrei Coelho
Worse than it is but he said I have to learn, so I’m pretty sure he gave me information "almost incorrect" just to turn one more morning researching.
– user94336