Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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
Mysql Wordpress SQL查询太慢_Mysql_Sql_Wordpress - Fatal编程技术网

Mysql Wordpress SQL查询太慢

Mysql Wordpress SQL查询太慢,mysql,sql,wordpress,Mysql,Sql,Wordpress,在wordpress中,我想按经度和纬度获取帖子,但服务器会在20-25秒内做出响应 $querystr = " SELECT ACOS( SIN( RADIANS( $user_lat ) ) * SIN( RADIANS( pm1.meta_value ) ) + COS( RADIANS( $user_lat ) ) * COS( RADIANS( pm1.meta_value ) ) * COS( RADIANS( pm2.meta_value ) - RADIANS( $user_lo

在wordpress中,我想按经度和纬度获取帖子,但服务器会在20-25秒内做出响应

$querystr = "
SELECT
ACOS( SIN( RADIANS( $user_lat ) ) * SIN( RADIANS( pm1.meta_value ) ) + COS( RADIANS( $user_lat ) ) * COS( RADIANS( pm1.meta_value ) ) * COS( RADIANS( pm2.meta_value ) - RADIANS( $user_long ) ) ) *3959 AS distance,
pm1.meta_value AS lat, pm2.meta_value AS lon,
p.*
FROM wp_posts p
INNER JOIN wp_term_relationships ON ( p.id = wp_term_relationships.object_id )
INNER JOIN wp_postmeta pm1 ON p.id = pm1.post_id AND pm1.meta_key = 'latitude'
INNER JOIN wp_postmeta pm2 ON p.id = pm2.post_id AND pm2.meta_key = 'longitude'

WHERE post_type = 'post'
AND post_status = 'publish'
HAVING distance < 25
ORDER BY distance ASC
LIMIT 0 , 30
";


$results = $wpdb->get_results($querystr);

你们有几排?25秒很奇怪。你确定只有这个查询会使你的网站变慢吗?因为对于缓慢的网站可能有很多原因。是的。当我使用简单查询时,一切都正常。例如:新的WP_查询“每_页面发布=123”;这是由于wordpress的限制。10万个员额很重。将其与元表连接将使数据库受损。为什么不创建一个自定义表呢?也许我必须这样做。我想知道还有没有别的办法。非常感谢。