Debug format/zh-hans | |
---|---|
用于分析查询应答过程之中的问题的调试信息 | |
更多信息 | |
提供者: | 语义MediaWiki |
添加版本: | 0.7 |
移除版本: | 依然支持 |
需求: | 无 |
格式名称: | debug |
启用?表明安装相应扩展时是否默认启用该结果格式。 | 是"是" is not recognized as a Boolean (true/false) value. |
作者: | Markus Krötzsch |
分类: | misc |
目录 | |
Contents |
调试格式debug用于获取关于Semantic MediaWiki如何处理某个查询的背景信息。 这些信息有助于理解某个查询为何可能会返回意外的结果,对开发人员修复查询应答过程中的缺陷至关重要。
参数[edit]
调试格式并没有特有的嵌入式查询参数。 此结果格式未提供格式特定参数。
示例[edit]
{{#ask: [[Category:City]] [[located in::Germany]] | ?population = 人口数量 | ?area#km² = 面积(km²) | format=debug }}
该查询将产生下列输出:
Debug output SQLStore
ASK Query
[[Category:City]] [[Located in::Germany]]
SQL Query
SELECT DISTINCT
t0.smw_id AS id,
t0.smw_title AS t,
t0.smw_namespace AS ns,
t0.smw_iw AS iw,
t0.smw_subobject AS so,
t0.smw_sortkey AS sortkey, t0.smw_sort
FROM
`smw_object_ids` AS t0
INNER JOIN
(`smw_fpt_inst` AS t2
INNER JOIN
`t3` AS t3 ON t2.o_id=t3.id
INNER JOIN
(`smw_di_wikipage` AS t4
INNER JOIN
`t5` AS t5 ON t4.p_id=t5.id) ON t2.s_id=t4.s_id) ON t0.smw_id=t2.s_id
WHERE
(
(t4.o_id='779')
)
AND t0.smw_iw!=':smw'
AND t0.smw_iw!=':smw-delete'
AND t0.smw_iw!=':smw-redi'
ORDER BY
t0.smw_sort ASC
LIMIT
55
OFFSET
0
t0.smw_id AS id,
t0.smw_title AS t,
t0.smw_namespace AS ns,
t0.smw_iw AS iw,
t0.smw_subobject AS so,
t0.smw_sortkey AS sortkey, t0.smw_sort
FROM
`smw_object_ids` AS t0
INNER JOIN
(`smw_fpt_inst` AS t2
INNER JOIN
`t3` AS t3 ON t2.o_id=t3.id
INNER JOIN
(`smw_di_wikipage` AS t4
INNER JOIN
`t5` AS t5 ON t4.p_id=t5.id) ON t2.s_id=t4.s_id) ON t0.smw_id=t2.s_id
WHERE
(
(t4.o_id='779')
)
AND t0.smw_iw!=':smw'
AND t0.smw_iw!=':smw-delete'
AND t0.smw_iw!=':smw-redi'
ORDER BY
t0.smw_sort ASC
LIMIT
55
OFFSET
0
SQL Explain
ID | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
---|---|---|---|---|---|---|---|---|---|---|
1 | SIMPLE | t5 | ALL | PRIMARY | 2 | Using temporary; Using filesort | ||||
1 | SIMPLE | t4 | ref | s_id, o_id, p_id, s_id_2, s_id_3, o_id_2, o_id_3 | o_id_3 | 9 | const, DB9907220070920.t5.id | 1 | ||
1 | SIMPLE | t2 | ref | s_id, o_id, s_id_2, o_id_2 | s_id_2 | 4 | DB9907220070920.t4.s_id | 1 | Using where; Using index | |
1 | SIMPLE | t3 | eq_ref | PRIMARY | PRIMARY | 4 | DB9907220070920.t2.o_id | 1 | ||
1 | SIMPLE | t0 | eq_ref | PRIMARY, smw_id, smw_iw, smw_iw_2 | PRIMARY | 4 | DB9907220070920.t4.s_id | 1 | Using where |
Auxilliary Tables
- Temporary table t3
Recursively computed hierarchy for element(s) ('148509').
SELECT s_id FROM `smw_fpt_subc` WHERE o_id='148509' LIMIT 1 - Temporary table t5
Recursively computed hierarchy for element(s) ('148244').
SELECT s_id FROM `smw_fpt_subp` WHERE o_id='148244' LIMIT 1
Query Metrics
Query-Size:3Query-Depth:1
Errors and Warnings
None如何读取调试输出[edit]
调试输出当中含有一些仅仅对开发人员有用的信息,但其同时对维基站点编者调试查询来说,也会提供一些具有指导意义的信息。
可读性较强的部分显示在顶部。这通常是SMW所理解的那个维基查询的某个版本。 所显示的这个查询可能会有别于用户当时的输入。 这可能是因为SMW只是在表达某些查询时采用了不同的方式(不同的编写风格),但其中同时也可能显示出该查询之中某些为SMW所不理解的或者理解错误的部分。
同时,还会显示一些关于query size(查询规模)和query depth(查询深度)的信息,以及所遇到的错误消息。 规模和深度乃是SMW用来限制查询复杂程度的内部参数。 维基网站管理员可以将查询限制到某个最大的查询规模或深度 (如果存在问题,则会将其显示为一个错误),因而这种输出可能有助于理解在处理某些查询时的规模和深度如何。
调试报告的其余内容则通常与SMW所执行的,那些用来应答当前查询的内部存储功能有关。 这部分也取决于SMW的具体存储实现和版本,而且通常只有开发人员才是可能使用这些信息的人员。
评注[edit]
调试输出的细节取决于所采用的SMW的版本以及存储引擎。这些信息应当包含在调试报告之中。