Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 缩短mysql查询以提高性能_Php_Mysql - Fatal编程技术网

Php 缩短mysql查询以提高性能

Php 缩短mysql查询以提高性能,php,mysql,Php,Mysql,如何缩短此查询 SET sql_mode = ''; SELECT t1.`id_number`,t1.`parents_id_number`,t1.`student_first_name`, SUM(t1.`degree_value`) AS `values`, (SELECT `user_key` FROM data_users.account_info t2 WHERE t1.id_number = t2.id_number AND

如何缩短此查询

SET sql_mode = '';
SELECT t1.`id_number`,t1.`parents_id_number`,t1.`student_first_name`, 
    SUM(t1.`degree_value`) AS `values`,
    (SELECT `user_key`  
        FROM data_users.account_info t2 
        WHERE t1.id_number = t2.id_number AND t1.parents_id_number = t2.parents_id_number 
        LIMIT 1) AS `user_key`,
    (SELECT `first_name` 
        FROM data_users.account_info t2 
        WHERE t1.id_number = t2.id_number AND t1.parents_id_number = t2.parents_id_number 
        LIMIT 1) AS `first_name`,
    (SELECT `last_name` 
        FROM data_users.account_info t2 
        WHERE t1.id_number = t2.id_number AND t1.parents_id_number = t2.parents_id_number 
        LIMIT 1) AS `last_name`,
    (SELECT `about_me`  
        FROM data_users.account_info t2 
        WHERE t1.id_number = t2.id_number AND t1.parents_id_number = t2.parents_id_number 
        LIMIT 1) AS `about_me`
FROM `1479213957519` t1     
WHERE t1.year_half = '1' 
GROUP BY t1.`perfix` 
ORDER BY `Values` DESC 
LIMIT 6

使用联接而不是相关子查询

SELECT t1.`id_number`,t1.`parents_id_number`,t1.`student_first_name`, 
        SUM(t1.`degree_value`) AS `values`,
        t2.user_key, t2.first_name, t2.last_name, t2.about_me
FROM `1479213957519` t1
JOIN (SELECT *
      FROM data_users.account_info 
      GROUP BY id_number, parents_id_number) t2 
    ON t1.id_number = t2.id_number AND t1.parents_id_number = t2.parents_id_number
WHERE t1.year_half = '1' 
GROUP BY t1.`perfix` 
ORDER BY `Values` DESC 
LIMIT 6
如果
id\u number
parents\u id\u number
account\u info
中唯一标识一行,则不需要子查询,只需与表本身联接即可

SELECT t1.`id_number`,t1.`parents_id_number`,t1.`student_first_name`, 
        SUM(t1.`degree_value`) AS `values`,
        t2.user_key, t2.first_name, t2.last_name, t2.about_me
FROM `1479213957519` t1
JOIN data_users.account_info  t2 
    ON t1.id_number = t2.id_number AND t1.parents_id_number = t2.parents_id_number
WHERE t1.year_half = '1' 
GROUP BY t1.`perfix` 
ORDER BY `Values` DESC 
LIMIT 6

使用联接而不是相关子查询

SELECT t1.`id_number`,t1.`parents_id_number`,t1.`student_first_name`, 
        SUM(t1.`degree_value`) AS `values`,
        t2.user_key, t2.first_name, t2.last_name, t2.about_me
FROM `1479213957519` t1
JOIN (SELECT *
      FROM data_users.account_info 
      GROUP BY id_number, parents_id_number) t2 
    ON t1.id_number = t2.id_number AND t1.parents_id_number = t2.parents_id_number
WHERE t1.year_half = '1' 
GROUP BY t1.`perfix` 
ORDER BY `Values` DESC 
LIMIT 6
如果
id\u number
parents\u id\u number
account\u info
中唯一标识一行,则不需要子查询,只需与表本身联接即可

SELECT t1.`id_number`,t1.`parents_id_number`,t1.`student_first_name`, 
        SUM(t1.`degree_value`) AS `values`,
        t2.user_key, t2.first_name, t2.last_name, t2.about_me
FROM `1479213957519` t1
JOIN data_users.account_info  t2 
    ON t1.id_number = t2.id_number AND t1.parents_id_number = t2.parents_id_number
WHERE t1.year_half = '1' 
GROUP BY t1.`perfix` 
ORDER BY `Values` DESC 
LIMIT 6

如果您有一个名为1479213957519的表,那么很可能是出现了严重错误,这是为post-dataWelcome@SaefMyth自动生成的表。我知道你是新加入社区的。在我看来,你的职位是不够的。我投票决定结束这个问题,因为社区认为它不属于主题(请参见指导原则),因为它不存在必须解决的问题,而是需要编码支持。这在SO中是严格禁止的。没有否决投票,因为您是第一次这样做。如果您有一个名为1479213957519的表,那么可能是出现了严重错误,这是为post dataWelcome@SaefMyth自动生成的表。我知道你是新加入社区的。在我看来,你的职位是不够的。我投票决定结束这个问题,因为社区认为它不属于主题(请参见指导原则),因为它不存在必须解决的问题,而是需要编码支持。这在SO中是严格禁止的。没有否决投票,因为你是新来的SO.perfcto man,,,第二个查询用了0.0014秒,第一个0.263秒,我的用了0.334秒,我需要学习更多的sql,,,谢谢dudeperfcto man,,,第二个查询用了0.0014秒,第一个0.263秒,我的用了0.334秒,我需要学习更多的sql,,,谢谢你,伙计