相关疑难解决方法(0)

创建自己的TinyURL

我刚刚找到了这个很棒的教程,因为它是我需要的东西.

但是,看了之后,这似乎效率低下.它的工作方式是,首先生成一个唯一的密钥,然后检查它是否存在于数据库中以确保它确实是唯一的.但是,数据库越大,函数越慢,对吧?

相反,我在想,有没有办法为这个功能添加排序?所以必须要做的就是检查数据库中的上一个条目并增加密钥.所以它永远是独一无二的?

function generate_chars()

{

    $num_chars = 4; //max length of random chars
    $i = 0;
    $my_keys = "123456789abcdefghijklmnopqrstuvwxyz"; //keys to be chosen from
    $keys_length = strlen($my_keys);
    $url  = "";
    while($i<$num_chars)
    {
        $rand_num = mt_rand(1, $keys_length-1);
        $url .= $my_keys[$rand_num];
        $i++;
    }
    return $url;
}

function isUnique($chars)

{
    //check the uniqueness of the chars
    global $link;
    $q = "SELECT * FROM `urls` WHERE `unique_chars`='".$chars."'";
    $r = mysql_query($q, $link);
    //echo mysql_num_rows($r); die();
    if( mysql_num_rows($r)>0 ): 
        return false;
    else: 
        return …
Run Code Online (Sandbox Code Playgroud)

php mysql

4
推荐指数
3
解决办法
8622
查看次数

标签 统计

mysql ×1

php ×1