Php 大型文本查询导致MySQL服务器过载?
我用这样的方式:Php 大型文本查询导致MySQL服务器过载?,php,mysql,load,Php,Mysql,Load,我用这样的方式: $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("SELEC
$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/
我想问的是:
当我在db中查询“red hot chili peppers californication”而不是“564”时,服务器负载更大是否正常
所有字段的类型都是varchar,除了$id是int。所有字段的类型都取决于您如何为mysql列设置
类型所有字段的类型都取决于您如何为mysql列设置类型我假设这是正常的。比较数字比比较字符串更容易。在每种编程语言中。我认为这是正常的。比较数字比比较字符串更容易。在每种编程语言中。表上有哪些索引?但表上有哪些索引?如果标题栏上没有索引,那么它的速度会非常慢,因为我没有索引。据我所知,我认为我应该对我查询的字段使用索引。如果我想使用第二个url结构,我认为向$name\u slug添加索引是正常的。是这样吗?我可以在这个字段中同时使用index和unique吗?是的,听起来你想在名称上使用唯一的索引。谢谢你的回答,但是mysql的comand是什么?你的表上有什么索引?但是表上有什么索引?如果标题栏上没有索引,那么它的速度会非常慢,因为我没有索引。据我所知,我认为我应该对我查询的字段使用索引。如果我想使用第二个url结构,我认为向$name\u slug添加索引是正常的。是这样吗?我可以对该字段同时使用index和unique吗?是的,听起来你想在名称slugh上使用唯一的索引谢谢你的回答,但是mysql comand是什么?类型是varchar如果你问我的话,我应该使用其他类型吗?类型是varchar如果你问我的话,我应该用别的东西吗?这是你必须测试的东西。这取决于您的硬件、表格引擎、表格大小等。这是您必须测试的内容。这取决于您的硬件、表格引擎、表格大小等。