2010-10-04 95 views
2

我對Drupal站點進行了緩慢查詢,以下是前10個緩慢查詢。我如何能找到它們的出處或者產地的任何想法Drupal緩慢查詢日誌分析

Reading mysql slow query log from /var/log/mysql/mysql-slow.log 
Count: 1 Time=220.72s (220s) Lock=0.00s (0s) Rows=14293563.0 (14293563), root[root]@localhost 
    SELECT /*!N SQL_NO_CACHE */ * FROM `sessions` 

Count: 1 Time=42.62s (42s) Lock=0.00s (0s) Rows=4181557.0 (4181557), root[root]@localhost 
    SELECT /*!N SQL_NO_CACHE */ * FROM `search_index` 

Count: 1 Time=28.26s (28s) Lock=0.00s (0s) Rows=1.0 (1), exdigital[exdigital]@[10.200.1.1] 
    SELECT * FROM term_data WHERE tid IN (N) 

Count: 1 Time=27.87s (27s) Lock=0.00s (0s) Rows=7.0 (7), exdigital[exdigital]@[10.200.1.1] 
    SELECT * FROM nodewords WHERE type = N AND id = N 

Count: 6 Time=19.98s (119s) Lock=0.08s (0s) Rows=1.0 (6), exdigital[exdigital]@[10.200.1.1] 
    SELECT COUNT(*) FROM (SELECT DISTINCT(node.nid) AS nid, 
    node.vid AS node_vid, 
    node.title AS node_title, 
    node.created AS node_created 
    FROM node node 
    LEFT JOIN term_node term_node ON node.vid = term_node.vid 
    LEFT JOIN term_data term_data ON term_node.tid = term_data.tid 
    LEFT JOIN term_node term_node_value_0 ON node.vid = term_node_value_0.vid AND term_node_value_0.tid = N 
    LEFT JOIN term_node term_node_value_1 ON node.vid = term_node_value_1.vid AND term_node_value_1.tid = N 
    LEFT JOIN term_node term_node_value_2 ON node.vid = term_node_value_2.vid AND term_node_value_2.tid = N 
    LEFT JOIN term_node term_node_value_3 ON node.vid = term_node_value_3.vid AND term_node_value_3.tid = N 
    LEFT JOIN term_node term_node_value_4 ON node.vid = term_node_value_4.vid AND term_node_value_4.tid = N 
    LEFT JOIN term_node term_node_value_5 ON node.vid = term_node_value_5.vid AND term_node_value_5.tid = N 
    LEFT JOIN term_node term_node_value_6 ON node.vid = term_node_value_6.vid AND term_node_value_6.tid = N 
    LEFT JOIN term_node term_node_value_7 ON node.vid = term_node_value_7.vid AND term_node_value_7.tid = N 
    LEFT JOIN term_node term_node_value_8 ON node.vid = term_node_value_8.vid AND term_node_value_8.tid = N 
    LEFT JOIN term_node term_node_value_9 ON node.vid = term_node_value_9.vid AND term_node_value_9.tid = N 
    LEFT JOIN term_node term_node_value_10 ON node.vid = term_node_value_10.vid AND term_node_value_10.tid = N 
    LEFT JOIN term_node term_node_value_11 ON node.vid = term_node_value_11.vid AND term_node_value_11.tid = N 
    LEFT JOIN term_node term_node_value_12 ON node.vid = term_node_value_12.vid AND term_node_value_12.tid = N 
    LEFT JOIN term_node term_node_value_13 ON node.vid = term_node_value_13.vid AND term_node_value_13.tid = N 
    LEFT JOIN term_node term_node_value_14 ON node.vid = term_node_value_14.vid AND term_node_value_14.tid = N 
    LEFT JOIN term_node term_node_value_15 ON node.vid = term_node_value_15.vid AND term_node_value_15.tid = N 
    LEFT JOIN term_node term_node_value_16 ON node.vid = term_node_value_16.vid AND term_node_value_16.tid = N 
    LEFT JOIN term_node term_node_value_17 ON node.vid = term_node_value_17.vid AND term_node_value_17.tid = N 
    LEFT JOIN term_node term_node_value_18 ON node.vid = term_node_value_18.vid AND term_node_value_18.tid = N 
    LEFT JOIN term_node term_node_value_19 ON node.vid = term_node_value_19.vid AND term_node_value_19.tid = N 
    LEFT JOIN term_node term_node_value_20 ON node.vid = term_node_value_20.vid AND term_node_value_20.tid = N 
    LEFT JOIN domain_access domain_access ON node.nid = domain_access.nid 
    INNER JOIN node_access na ON na.nid = node.nid LEFT JOIN node n ON node.nid = n.nid WHERE (na.grant_view >= N AND ((na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S'))) AND ((n.moderate != N)) AND ( (node.moderate = N) AND (node.status <> N) AND (term_data.vid in ('S', 'S', 'S', 'S', 'S')) AND (node.nid != N) AND (term_node_value_0.tid = N OR term_node_value_1.tid = N OR term_node_value_2.tid = N OR term_node_value_3.tid = N OR term_node_value_4.tid = N OR term_node_value_5.tid = N OR term_node_value_6.tid = N OR term_node_value_7.tid = N OR term_node_value_8.tid = N OR term_node_value_9.tid = N OR term_node_value_10.tid = N OR term_node_value_11.tid = N OR term_node_value_12.tid = N OR term_node_value_13.tid = N OR term_node_value_14.tid = N OR term_node_value_15.tid = N OR term_node_value_16.tid = N OR term_node_value_17.tid = N OR term_node_value_18.tid = N OR term_node_value_19.tid = N OR term_node_value_20.tid = N) AND (domain_access.gid = 'S') 
)GROUP BY nid 
    ORDER BY node_created DESC 
    LIMIT N) count_alias 

Count: 13 Time=19.47s (253s) Lock=0.03s (0s) Rows=1.0 (13), exdigital[exdigital]@[10.200.1.1] 
    SELECT COUNT(*) FROM (SELECT DISTINCT(node.nid) AS nid, 
    node.vid AS node_vid, 
    node.title AS node_title, 
    node.created AS node_created 
    FROM node node 
    LEFT JOIN term_node term_node ON node.vid = term_node.vid 
    LEFT JOIN term_data term_data ON term_node.tid = term_data.tid 
    LEFT JOIN term_node term_node_value_0 ON node.vid = term_node_value_0.vid AND term_node_value_0.tid = N 
    LEFT JOIN term_node term_node_value_1 ON node.vid = term_node_value_1.vid AND term_node_value_1.tid = N 
    LEFT JOIN term_node term_node_value_2 ON node.vid = term_node_value_2.vid AND term_node_value_2.tid = N 
    LEFT JOIN term_node term_node_value_3 ON node.vid = term_node_value_3.vid AND term_node_value_3.tid = N 
    LEFT JOIN term_node term_node_value_4 ON node.vid = term_node_value_4.vid AND term_node_value_4.tid = N 
    LEFT JOIN term_node term_node_value_5 ON node.vid = term_node_value_5.vid AND term_node_value_5.tid = N 
    LEFT JOIN term_node term_node_value_6 ON node.vid = term_node_value_6.vid AND term_node_value_6.tid = N 
    LEFT JOIN term_node term_node_value_7 ON node.vid = term_node_value_7.vid AND term_node_value_7.tid = N 
    LEFT JOIN term_node term_node_value_8 ON node.vid = term_node_value_8.vid AND term_node_value_8.tid = N 
    LEFT JOIN term_node term_node_value_9 ON node.vid = term_node_value_9.vid AND term_node_value_9.tid = N 
    LEFT JOIN term_node term_node_value_10 ON node.vid = term_node_value_10.vid AND term_node_value_10.tid = N 
    LEFT JOIN term_node term_node_value_11 ON node.vid = term_node_value_11.vid AND term_node_value_11.tid = N 
    LEFT JOIN term_node term_node_value_12 ON node.vid = term_node_value_12.vid AND term_node_value_12.tid = N 
    LEFT JOIN term_node term_node_value_13 ON node.vid = term_node_value_13.vid AND term_node_value_13.tid = N 
    LEFT JOIN term_node term_node_value_14 ON node.vid = term_node_value_14.vid AND term_node_value_14.tid = N 
    LEFT JOIN term_node term_node_value_15 ON node.vid = term_node_value_15.vid AND term_node_value_15.tid = N 
    LEFT JOIN domain_access domain_access ON node.nid = domain_access.nid 
    INNER JOIN node_access na ON na.nid = node.nid LEFT JOIN node n ON node.nid = n.nid WHERE (na.grant_view >= N AND ((na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S'))) AND ((n.moderate != N)) AND ( (node.moderate = N) AND (node.status <> N) AND (term_data.vid in ('S', 'S', 'S', 'S', 'S')) AND (node.nid != N) AND (term_node_value_0.tid = N OR term_node_value_1.tid = N OR term_node_value_2.tid = N OR term_node_value_3.tid = N OR term_node_value_4.tid = N OR term_node_value_5.tid = N OR term_node_value_6.tid = N OR term_node_value_7.tid = N OR term_node_value_8.tid = N OR term_node_value_9.tid = N OR term_node_value_10.tid = N OR term_node_value_11.tid = N OR term_node_value_12.tid = N OR term_node_value_13.tid = N OR term_node_value_14.tid = N OR term_node_value_15.tid = N) AND (domain_access.gid = 'S') 
)GROUP BY nid 
    ORDER BY node_created DESC 
    LIMIT N) count_alias 

Count: 5 Time=17.67s (88s) Lock=0.00s (0s) Rows=3.0 (15), exdigital[exdigital]@[10.200.1.1] 
    SELECT DISTINCT(node.nid) AS nid, 
    node.vid AS node_vid, 
    node.title AS node_title, 
    node.created AS node_created 
    FROM node node 
    LEFT JOIN term_node term_node ON node.vid = term_node.vid 
    LEFT JOIN term_data term_data ON term_node.tid = term_data.tid 
    LEFT JOIN term_node term_node_value_0 ON node.vid = term_node_value_0.vid AND term_node_value_0.tid = N 
    LEFT JOIN term_node term_node_value_1 ON node.vid = term_node_value_1.vid AND term_node_value_1.tid = N 
    LEFT JOIN term_node term_node_value_2 ON node.vid = term_node_value_2.vid AND term_node_value_2.tid = N 
    LEFT JOIN term_node term_node_value_3 ON node.vid = term_node_value_3.vid AND term_node_value_3.tid = N 
    LEFT JOIN term_node term_node_value_4 ON node.vid = term_node_value_4.vid AND term_node_value_4.tid = N 
    LEFT JOIN term_node term_node_value_5 ON node.vid = term_node_value_5.vid AND term_node_value_5.tid = N 
    LEFT JOIN term_node term_node_value_6 ON node.vid = term_node_value_6.vid AND term_node_value_6.tid = N 
    LEFT JOIN term_node term_node_value_7 ON node.vid = term_node_value_7.vid AND term_node_value_7.tid = N 
    LEFT JOIN term_node term_node_value_8 ON node.vid = term_node_value_8.vid AND term_node_value_8.tid = N 
    LEFT JOIN term_node term_node_value_9 ON node.vid = term_node_value_9.vid AND term_node_value_9.tid = N 
    LEFT JOIN term_node term_node_value_10 ON node.vid = term_node_value_10.vid AND term_node_value_10.tid = N 
    LEFT JOIN term_node term_node_value_11 ON node.vid = term_node_value_11.vid AND term_node_value_11.tid = N 
    LEFT JOIN term_node term_node_value_12 ON node.vid = term_node_value_12.vid AND term_node_value_12.tid = N 
    LEFT JOIN term_node term_node_value_13 ON node.vid = term_node_value_13.vid AND term_node_value_13.tid = N 
    LEFT JOIN term_node term_node_value_14 ON node.vid = term_node_value_14.vid AND term_node_value_14.tid = N 
    LEFT JOIN term_node term_node_value_15 ON node.vid = term_node_value_15.vid AND term_node_value_15.tid = N 
    LEFT JOIN term_node term_node_value_16 ON node.vid = term_node_value_16.vid AND term_node_value_16.tid = N 
    LEFT JOIN term_node term_node_value_17 ON node.vid = term_node_value_17.vid AND term_node_value_17.tid = N 
    LEFT JOIN term_node term_node_value_18 ON node.vid = term_node_value_18.vid AND term_node_value_18.tid = N 
    LEFT JOIN term_node term_node_value_19 ON node.vid = term_node_value_19.vid AND term_node_value_19.tid = N 
    LEFT JOIN term_node term_node_value_20 ON node.vid = term_node_value_20.vid AND term_node_value_20.tid = N 
    LEFT JOIN domain_access domain_access ON node.nid = domain_access.nid 
    INNER JOIN node_access na ON na.nid = node.nid LEFT JOIN node n ON node.nid = n.nid WHERE (na.grant_view >= N AND ((na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S'))) AND ((n.moderate != N)) AND ( (node.moderate = N) AND (node.status <> N) AND (term_data.vid in ('S', 'S', 'S', 'S', 'S')) AND (node.nid != N) AND (term_node_value_0.tid = N OR term_node_value_1.tid = N OR term_node_value_2.tid = N OR term_node_value_3.tid = N OR term_node_value_4.tid = N OR term_node_value_5.tid = N OR term_node_value_6.tid = N OR term_node_value_7.tid = N OR term_node_value_8.tid = N OR term_node_value_9.tid = N OR term_node_value_10.tid = N OR term_node_value_11.tid = N OR term_node_value_12.tid = N OR term_node_value_13.tid = N OR term_node_value_14.tid = N OR term_node_value_15.tid = N OR term_node_value_16.tid = N OR term_node_value_17.tid = N OR term_node_value_18.tid = N OR term_node_value_19.tid = N OR term_node_value_20.tid = N) AND (domain_access.gid = 'S') 
)GROUP BY nid 
    ORDER BY node_created DESC 
    LIMIT N, N 

Count: 24 Time=13.51s (324s) Lock=0.00s (0s) Rows=2.9 (70), exdigital[exdigital]@[10.200.1.1] 
    SELECT DISTINCT(node.nid) AS nid, 
    node.vid AS node_vid, 
    node.title AS node_title, 
    node.created AS node_created 
    FROM node node 
    LEFT JOIN term_node term_node ON node.vid = term_node.vid 
    LEFT JOIN term_data term_data ON term_node.tid = term_data.tid 
    LEFT JOIN term_node term_node_value_0 ON node.vid = term_node_value_0.vid AND term_node_value_0.tid = N 
    LEFT JOIN term_node term_node_value_1 ON node.vid = term_node_value_1.vid AND term_node_value_1.tid = N 
    LEFT JOIN term_node term_node_value_2 ON node.vid = term_node_value_2.vid AND term_node_value_2.tid = N 
    LEFT JOIN term_node term_node_value_3 ON node.vid = term_node_value_3.vid AND term_node_value_3.tid = N 
    LEFT JOIN term_node term_node_value_4 ON node.vid = term_node_value_4.vid AND term_node_value_4.tid = N 
    LEFT JOIN term_node term_node_value_5 ON node.vid = term_node_value_5.vid AND term_node_value_5.tid = N 
    LEFT JOIN term_node term_node_value_6 ON node.vid = term_node_value_6.vid AND term_node_value_6.tid = N 
    LEFT JOIN term_node term_node_value_7 ON node.vid = term_node_value_7.vid AND term_node_value_7.tid = N 
    LEFT JOIN term_node term_node_value_8 ON node.vid = term_node_value_8.vid AND term_node_value_8.tid = N 
    LEFT JOIN term_node term_node_value_9 ON node.vid = term_node_value_9.vid AND term_node_value_9.tid = N 
    LEFT JOIN term_node term_node_value_10 ON node.vid = term_node_value_10.vid AND term_node_value_10.tid = N 
    LEFT JOIN term_node term_node_value_11 ON node.vid = term_node_value_11.vid AND term_node_value_11.tid = N 
    LEFT JOIN domain_access domain_access ON node.nid = domain_access.nid 
    INNER JOIN node_access na ON na.nid = node.nid LEFT JOIN node n ON node.nid = n.nid WHERE (na.grant_view >= N AND ((na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S'))) AND ((n.moderate != N)) AND ( (node.moderate = N) AND (node.status <> N) AND (term_data.vid in ('S', 'S', 'S', 'S', 'S')) AND (node.nid != N) AND (term_node_value_0.tid = N OR term_node_value_1.tid = N OR term_node_value_2.tid = N OR term_node_value_3.tid = N OR term_node_value_4.tid = N OR term_node_value_5.tid = N OR term_node_value_6.tid = N OR term_node_value_7.tid = N OR term_node_value_8.tid = N OR term_node_value_9.tid = N OR term_node_value_10.tid = N OR term_node_value_11.tid = N) AND (domain_access.gid = 'S') 
)GROUP BY nid 
    ORDER BY node_created DESC 
    LIMIT N, N 

Count: 12 Time=11.31s (135s) Lock=0.71s (8s) Rows=1.0 (12), exdigital[exdigital]@[10.200.1.1] 
    SELECT COUNT(*) FROM (SELECT DISTINCT(node.nid) AS nid, 
    node.vid AS node_vid, 
    node.title AS node_title, 
    node.created AS node_created 
    FROM node node 
    LEFT JOIN term_node term_node ON node.vid = term_node.vid 
    LEFT JOIN term_data term_data ON term_node.tid = term_data.tid 
    LEFT JOIN term_node term_node_value_0 ON node.vid = term_node_value_0.vid AND term_node_value_0.tid = N 
    LEFT JOIN term_node term_node_value_1 ON node.vid = term_node_value_1.vid AND term_node_value_1.tid = N 
    LEFT JOIN term_node term_node_value_2 ON node.vid = term_node_value_2.vid AND term_node_value_2.tid = N 
    LEFT JOIN term_node term_node_value_3 ON node.vid = term_node_value_3.vid AND term_node_value_3.tid = N 
    LEFT JOIN term_node term_node_value_4 ON node.vid = term_node_value_4.vid AND term_node_value_4.tid = N 
    LEFT JOIN term_node term_node_value_5 ON node.vid = term_node_value_5.vid AND term_node_value_5.tid = N 
    LEFT JOIN term_node term_node_value_6 ON node.vid = term_node_value_6.vid AND term_node_value_6.tid = N 
    LEFT JOIN term_node term_node_value_7 ON node.vid = term_node_value_7.vid AND term_node_value_7.tid = N 
    LEFT JOIN term_node term_node_value_8 ON node.vid = term_node_value_8.vid AND term_node_value_8.tid = N 
    LEFT JOIN term_node term_node_value_9 ON node.vid = term_node_value_9.vid AND term_node_value_9.tid = N 
    LEFT JOIN term_node term_node_value_10 ON node.vid = term_node_value_10.vid AND term_node_value_10.tid = N 
    LEFT JOIN term_node term_node_value_11 ON node.vid = term_node_value_11.vid AND term_node_value_11.tid = N 
    LEFT JOIN term_node term_node_value_12 ON node.vid = term_node_value_12.vid AND term_node_value_12.tid = N 
    LEFT JOIN term_node term_node_value_13 ON node.vid = term_node_value_13.vid AND term_node_value_13.tid = N 
    LEFT JOIN domain_access domain_access ON node.nid = domain_access.nid 
    INNER JOIN node_access na ON na.nid = node.nid LEFT JOIN node n ON node.nid = n.nid WHERE (na.grant_view >= N AND ((na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S'))) AND ((n.moderate != N)) AND ( (node.moderate = N) AND (node.status <> N) AND (term_data.vid in ('S', 'S', 'S', 'S', 'S')) AND (node.nid != N) AND (term_node_value_0.tid = N OR term_node_value_1.tid = N OR term_node_value_2.tid = N OR term_node_value_3.tid = N OR term_node_value_4.tid = N OR term_node_value_5.tid = N OR term_node_value_6.tid = N OR term_node_value_7.tid = N OR term_node_value_8.tid = N OR term_node_value_9.tid = N OR term_node_value_10.tid = N OR term_node_value_11.tid = N OR term_node_value_12.tid = N OR term_node_value_13.tid = N) AND (domain_access.gid = 'S') 
)GROUP BY nid 
    ORDER BY node_created DESC 
    LIMIT N) count_alias 

Count: 23 Time=10.95s (251s) Lock=0.40s (9s) Rows=1.0 (23), exdigital[exdigital]@[10.200.1.1] 
    SELECT COUNT(*) FROM (SELECT DISTINCT(node.nid) AS nid, 
    node.vid AS node_vid, 
    node.title AS node_title, 
    node.created AS node_created 
    FROM node node 
    LEFT JOIN term_node term_node ON node.vid = term_node.vid 
    LEFT JOIN term_data term_data ON term_node.tid = term_data.tid 
    LEFT JOIN term_node term_node_value_0 ON node.vid = term_node_value_0.vid AND term_node_value_0.tid = N 
    LEFT JOIN term_node term_node_value_1 ON node.vid = term_node_value_1.vid AND term_node_value_1.tid = N 
    LEFT JOIN term_node term_node_value_2 ON node.vid = term_node_value_2.vid AND term_node_value_2.tid = N 
    LEFT JOIN term_node term_node_value_3 ON node.vid = term_node_value_3.vid AND term_node_value_3.tid = N 
    LEFT JOIN term_node term_node_value_4 ON node.vid = term_node_value_4.vid AND term_node_value_4.tid = N 
    LEFT JOIN term_node term_node_value_5 ON node.vid = term_node_value_5.vid AND term_node_value_5.tid = N 
    LEFT JOIN term_node term_node_value_6 ON node.vid = term_node_value_6.vid AND term_node_value_6.tid = N 
    LEFT JOIN term_node term_node_value_7 ON node.vid = term_node_value_7.vid AND term_node_value_7.tid = N 
    LEFT JOIN term_node term_node_value_8 ON node.vid = term_node_value_8.vid AND term_node_value_8.tid = N 
    LEFT JOIN term_node term_node_value_9 ON node.vid = term_node_value_9.vid AND term_node_value_9.tid = N 
    LEFT JOIN term_node term_node_value_10 ON node.vid = term_node_value_10.vid AND term_node_value_10.tid = N 
    LEFT JOIN term_node term_node_value_11 ON node.vid = term_node_value_11.vid AND term_node_value_11.tid = N 
    LEFT JOIN term_node term_node_value_12 ON node.vid = term_node_value_12.vid AND term_node_value_12.tid = N 
    LEFT JOIN domain_access domain_access ON node.nid = domain_access.nid 
    INNER JOIN node_access na ON na.nid = node.nid LEFT JOIN node n ON node.nid = n.nid WHERE (na.grant_view >= N AND ((na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S') OR (na.gid = N AND na.realm = 'S'))) AND ((n.moderate != N)) AND ( (node.moderate = N) AND (node.status <> N) AND (term_data.vid in ('S', 'S', 'S', 'S', 'S')) AND (node.nid != N) AND (term_node_value_0.tid = N OR term_node_value_1.tid = N OR term_node_value_2.tid = N OR term_node_value_3.tid = N OR term_node_value_4.tid = N OR term_node_value_5.tid = N OR term_node_value_6.tid = N OR term_node_value_7.tid = N OR term_node_value_8.tid = N OR term_node_value_9.tid = N OR term_node_value_10.tid = N OR term_node_value_11.tid = N OR term_node_value_12.tid = N) AND (domain_access.gid = 'S') 
)GROUP BY nid 
    ORDER BY node_created DESC 
    LIMIT N) count_alias 

如果你提出了一些工具,它可以回溯查詢使用,這將是有益的觀點或模塊;如果存在這樣的事情則提供。如果查看這些查詢引發共鳴,請寫評論幫助。

非常感謝..

回答

5

我不會太擔心那些只發生過一次的。大多數只是SELECT * FROM big_table這很可能是通過一些管理員完成的。我不知道什麼會獲取整個會話表,這是沒有多大用處。

不管怎麼說,發生一次以上的其他查詢,則最有可能產生的意見:

LEFT JOIN term_node term_node_value_0 
    ON node.vid = term_node_value_0.vid AND term_node_value_0.tid = N 

做的這20個加盟將任何查詢,這也是爲什麼它看起來像的觀點放緩。視圖在不知道你真正想要做什麼的情況下進行通用查詢。所以它可以做出任何假設,這就是爲什麼它在某些情況下可以做出這樣的瘋狂查詢。唯一的解決辦法是自定義代碼視圖或只是查詢。當事情有點複雜時,視圖很難對術語進行良好的查詢,因爲術語具有1對多的關係(1個術語可以與節點關聯)。

因此,請查看您擁有的視圖,您可以使用視圖UI中的緩存處理此問題。

+0

如果人們需要混淆被執行的SQL,那麼在Drupal.org [實現視圖/過濾器的自定義SQL查詢](http://drupal.org/node/409808)上可能會有一些非常有用的討論使用。 – 2012-03-29 10:42:10

1

安裝並啓用devel模塊。

導航到模塊設置頁面(example.com/admin/settings/devel),並檢查

  • 收集查詢信息
  • 顯示查詢日誌

這會寫,每次查詢一個頁面請求到頁面的底部,並告訴你編寫查詢的函數(where列)。函數名稱是moduleName_functionName。

和googletorp是完全正確的。

1

節點字1.14應該運行得更好,內部緩存已被添加,因此它不會像以前那樣重新運行相同的查詢。

主要的罪魁禍首似乎是Views分類術語頁面查詢,它默認檢查九個遞歸級別來識別匹配的內容。您應該將視圖的「深度」參數更改爲您的詞彙表(類別,標籤等)實際使用的最大層次深度,並且如果您完全不使用術語層次結構,則應將深度設置爲0或更好,完全刪除術語ID +深度參數,並用基本術語ID參數替換它。