title: random data using php & mysql
body: <p>I have mysql database structure like below:</p>
  
  <pre><code>CREATE TABLE test (
      id int(11) NOT NULL auto_increment,
      title text NULL,
      tags text NULL,
      PRIMARY KEY (id)
  );</code></pre>
  
  <p>data on field tags is stored as a comma separated text like html,php,mysql,website,html etc...
  now I need create an array that contains around 50 randomly selected tags from random records.</p>
  
  <p>currently I am using rand() to select 15 random mysql data from database and then holding all the tags from 15 records in an array. Then I am using array_rand() for randomizing the array and selecting only 50 random tags.</p>
  
  <pre><code>$query=mysql_query("select * from test order by id asc, RAND() limit 15");
  $tags="";
  while ($eachData=mysql_fetch_array($query)) {
      $additionalTags=$eachData['tags'];
      if ($tags=="") {
          $tags.=$additionalTags;
      } else {
          $tags.=$tags.",".$additionalTags;
      }
  }
  
  $tags=explode(",", $tags);
  $newTags=array();
  foreach ($tags as $tag) {
      $tag=trim($tag);
      if ($tag!="") {
          if (!in_array($tag, $newTags)) {
              $newTags[]=$tag;
          }
      }
  }
  
  $random_newTags=array_rand($newTags, 50);</code></pre>
  
  <p>Now I have huge records on the database, and because of that; rand() is performing very slow and sometimes it doesn't work. So can anyone let me know how to handle this situation correctly so that my page will work normally.</p>