我从 xml 文件导入 wordpress 数据库。我将城镇和位置作为每个帖子的元值导入。
我没有预先定义的城镇和位置列表,所以我需要获取所有位置(简单的事情)并获取这些位置内的所有城镇(我在这里遇到问题)
我现在的查询是:
SELECT t1.meta_value
FROM wp_postmeta t1
INNER JOIN wp_postmeta t2 ON (t1.post_id = t2.post_id)
WHERE t2.meta_key = '_prop_loc'
AND t2.meta_value="Málaga"
AND t1.meta_key = '_prop_town'
GROUP BY t1.meta_value
例如,如果我尝试获取“Málaga”位置的所有城镇,我将使用此查询结束。在 localhost 上测试它,查询运行
showing records 0 - 29 ( 101 total, total time 1.3289 seg)
如果我在时间减少之前取出组,但我当然会得到重复的行。如果我将 select distinct 与订单 ASC 一起使用,则时间会再次上升。
我确实希望对结果进行排序,但是超过一秒的查询是不行的
wp_postmeta
桌子:
CREATE TABLE `wp_postmeta` (
`meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`post_id` bigint(20) unsigned NOT NULL DEFAULT '0',
`meta_key` varchar(255) DEFAULT NULL,
`meta_value` longtext,
PRIMARY KEY (`meta_id`),
KEY `post_id` (`post_id`),
KEY `meta_key` (`meta_key`)
) ENGINE=*** DEFAULT CHARSET=utf8;