Exactly process of Rand() function in MySQL

4 replies
Does anyone know, what is the exactly process of Rand() function in MySQL.

I see a lot of people are trying to do random row with some other method.

How much does it improve performance, Compared with "ORDER BY RAND()" methods.

:confused::confused::confused:
#function #mysql #process #rand #random
  • Profile picture of the author mywebwork
    The advantage of using RAND() is really portability between the different platforms and programming languages that support MySQL. It is not the most efficient process, which is why you see several random number generators implemented in external code.

    Here is a link to an article about doing it with MySQL, the author gives performance comparisons with doing it his way vs using RAND().

    Get Random Row with MySQL Without ORDER BY RAND() - edrackham

    Bill
    {{ DiscussionBoard.errors[4516476].message }}
  • Profile picture of the author ebusinessireader
    I just noticed that. >_@
    By "order by rand()" in sql command
    it's not really random everytime of refreshing page.
    I mean, it has delay period before new random row by database.

    Am I Right?
    {{ DiscussionBoard.errors[4516649].message }}
    • Profile picture of the author Thrasher66099
      I haven't looked at mysql directly, but I can tell you that most programming languages use the system clock for their rand functions. This means that your rand really won't be that random if it happens multiple times in a row. In fact, it's very likely that you'll get multiple values that are the same if the rand funtion completes multiple times before the clock cycle finishes. That is the biggest reason that most people write their own randomization functionality.
      {{ DiscussionBoard.errors[4518740].message }}
      • Profile picture of the author ebusinessireader
        Originally Posted by Thrasher66099 View Post

        I haven't looked at mysql directly, but I can tell you that most programming languages use the system clock for their rand functions. This means that your rand really won't be that random if it happens multiple times in a row. In fact, it's very likely that you'll get multiple values that are the same if the rand funtion completes multiple times before the clock cycle finishes. That is the biggest reason that most people write their own randomization functionality.
        Oh....
        {{ DiscussionBoard.errors[4519736].message }}

Trending Topics