Sql高效快速搜索

时间:2015-12-15 18:46:31

标签: php mysql sql mysqli

我正在使用包含许多用户的php和sql创建一个大型网站,我需要尽可能快地建立我的数据库。 这是从数据库表中获取post值的代码,称为upload并将它们存储在数组中

//connect to database
$a = 'localhost';
$b = 'root';
$c = '';
$d = 'petsnote';
$connect = mysqli_connect($a, $b, $c, $d);

//get posts images variables
$images = array();
$cat = array();
$id = array();

//get posts info
if($connect){
    $query = "SELECT * FROM `upload` WHERE `Active`='1'";
    if($query_run = mysqli_query($connect, $query)){
        while($get = mysqli_fetch_assoc($query_run)){
            array_push($images, $get['Image_Name']);
            array_push($cat, $get['PostCategory']);
            array_push($id, $get['Id']);
        }

        $loop = count($images);
    }
}

我从数据库中获取所有发布信息并将它们存储在一个数组中,并使用该数组只查看一些值。 这是一种高效,专业,快捷的做事方式吗?

1 个答案:

答案 0 :(得分:0)

您的查询只需要询问它将使用的内容:

SELECT Id, Image_Name, PostCategory FROM upload WHERE Active='1'

但这不会有效地加速任何事情。

更重要的是数据库结构。从MySQL运行SHOW CREATE TABLE upload并确保您要搜索的每个列(例如,在这种情况下为Active)都已编入索引。

尽管如此,除非你处理成千上万行,否则你不会看到太大的差别。