2011-12-27 24 views
0

我用的是這樣的:大型文本查詢的Mysql服務器過載?

$url_title = mysql_real_escape_string($_GET['title']); 
    $sql = dbquery("SELECT * FROM `videos` WHERE `post_name` = '$url_title' LIMIT 0, 1"); 

/* or this old one 

    $local_id = ($_GET['id']; 
    $sql = dbquery("SELECT * FROM `videos` WHERE `id` = '$local_id' LIMIT 0, 1"); 

// for urls like : 
// example.com/video/music/red-hot-chili-peppers-californication-564/ 

*/ 

    $num_rows = mysql_num_rows($sql); 
    if ($num_rows == "0"){die();} 

    while($row = mysql_fetch_array($sql)){ 
    $local_id = $row["id"]; // PRIMARY KEY ; auto increment 
    $video_id = $row["youtube_id"]; // Unique 
    $title = $row["name"]; // Unique 
    $name_slug = $row["name_slug"]; // Unique 
    // some more code 
    } 

// and this one for urls like : 
// example.com/video/music/red-hot-chili-peppers-californication/ 

什麼,我要問的是:

是正常的,有更大的服務器負載,當我查詢「紅熱辣椒 - 辣椒 - 加州靡情」爲例在數據庫而不是「564」?

所有字段的類型都是varchar,除了$ id,其值是int。

+1

你的桌子上有什麼指標? – 2011-12-27 17:18:05

+0

我編輯了帖子。 – m3tsys 2011-12-27 21:32:28

+0

但桌上有什麼指標?如果在標題欄上沒有索引,它將顯着變慢 – 2011-12-27 21:52:16

回答

2

我認爲這是正常的。比較數字比比較字符串更容易。在每種編程語言中。

+0

好的,我想過......但區別有多大? – m3tsys 2011-12-27 21:27:57

+0

這就是你必須測試的東西。這取決於你的硬件,桌面引擎,桌子的大小等等。 – TimWolla 2011-12-28 14:26:30

1

一切都取決於你如何設置type爲MySQL列

+0

類型是varchar如果這是你問我,我應該使用別的東西? – m3tsys 2011-12-27 21:34:01