SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('options', 'languages', 'contentTypes', 'codeEventListeners', 'deferredRun', 'simpleCache', 'addOns', 'defaultStyleProperties', 'routeFiltersIn', 'routeFiltersOut', 'routesPublic', 'nodeTypes', 'bannedIps', 'discouragedIps', 'styles', 'displayStyles', 'userBanners', 'smilies', 'bbCode', 'threadPrefixes', 'userTitleLadder', 'reportCounts', 'moderationCounts', 'userModerationCounts', 'notices', 'userFieldsInfo')
Run Time: 0.000571
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 26 | Using where |
SELECT data_key, data_value
FROM xf_data_registry
WHERE data_key IN ('brListenerClasses', 'brBriviumAddOns')
Run Time: 0.000163
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_data_registry | range | PRIMARY | PRIMARY | 27 | | 2 | Using where |
SELECT *
FROM xf_brivium_addon
ORDER BY addon_id
Run Time: 0.000155
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_brivium_addon | index | | PRIMARY | 77 | | 1 | |
INSERT INTO xf_data_registry
(data_key, data_value)
VALUES
(?, ?)
ON DUPLICATE KEY UPDATE
data_value = VALUES(data_value)
Params: brBriviumAddOns, a:0:{}
Run Time: 0.000131
SELECT session_data
FROM xf_session
WHERE session_id = ?
AND expiry_date >= ?
Params: c8f11abcd66753321673510a8ae10985, 1716686304
Run Time: 0.000150
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_session | const | PRIMARY,expiry_date | PRIMARY | 34 | const | 1 | |
SELECT cache_value
FROM xf_permission_combination
WHERE permission_combination_id = ?
Params: 1
Run Time: 0.000139
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | xf_permission_combination | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT thread.*
,
user.gender, user.avatar_date, user.gravatar,
NULL AS thread_read_date,
0 AS thread_reply_banned,
0 AS thread_is_watched,
'' AS draft_message, NULL AS draft_extra
FROM xf_thread AS thread
LEFT JOIN xf_user AS user ON
(user.user_id = thread.user_id)
WHERE thread.thread_id = ?
Params: 350213
Run Time: 0.000598
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | user | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SELECT node.*, forum.*
,
permission.cache_value AS node_permission_cache,
NULL AS forum_read_date
FROM xf_forum AS forum
INNER JOIN xf_node AS node ON (node.node_id = forum.node_id)
LEFT JOIN xf_permission_cache_content AS permission
ON (permission.permission_combination_id = 1
AND permission.content_type = 'node'
AND permission.content_id = forum.node_id)
WHERE node.node_id = ?
Params: 38
Run Time: 0.000364
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | forum | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | node | const | PRIMARY | PRIMARY | 4 | const | 1 | |
SIMPLE | permission | const | PRIMARY | PRIMARY | 35 | const,const,const | 1 | |
SELECT post.*
,
thread.*, thread.user_id AS thread_user_id, thread.username AS thread_username,
thread.post_date AS thread_post_date,
post.user_id, post.username, post.post_date,
bb_code_parse_cache.parse_tree AS message_parsed, bb_code_parse_cache.cache_version AS message_cache_version,
user.*, IF(user.username IS NULL, post.username, user.username) AS username,
user_profile.*,
user_privacy.*,
signature_parse_cache.parse_tree AS signature_parsed, bb_code_parse_cache.cache_version AS signature_cache_version,
session_activity.view_date AS last_view_date,
0 AS like_date
FROM xf_post AS post
INNER JOIN xf_thread AS thread ON
(thread.thread_id = post.thread_id)
LEFT JOIN xf_bb_code_parse_cache AS bb_code_parse_cache ON
(bb_code_parse_cache.content_type = 'post' AND bb_code_parse_cache.content_id = post.post_id)
LEFT JOIN xf_user AS user ON
(user.user_id = post.user_id)
LEFT JOIN xf_user_profile AS user_profile ON
(user_profile.user_id = post.user_id)
LEFT JOIN xf_user_privacy AS user_privacy ON
(user_privacy.user_id = post.user_id)
LEFT JOIN xf_bb_code_parse_cache AS signature_parse_cache ON
(signature_parse_cache.content_type = 'signature' AND signature_parse_cache.content_id = post.user_id)
LEFT JOIN xf_session_activity AS session_activity ON
(post.user_id > 0 AND session_activity.user_id = post.user_id AND session_activity.unique_key = CAST(post.user_id AS BINARY))
WHERE (
(post.thread_id = ? AND (post.position >= 0 AND post.position < 10) )
)
AND (post.message_state IN ('visible'))
ORDER BY post.position ASC, post.post_date ASC
Params: 350213
Run Time: 0.003181
Select Type | Table | Type | Possible Keys | Key | Key Len | Ref | Rows | Extra |
---|
SIMPLE | thread | const | PRIMARY | PRIMARY | 4 | const | 1 | Using filesort |
SIMPLE | post | ref | thread_id_post_date,thread_id_position | thread_id_post_date | 4 | const | 1 | Using index condition; Using where |
SIMPLE | bb_code_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xenforo.cc.post.post_id | 1 | Using where |
SIMPLE | user | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | user_profile | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | user_privacy | eq_ref | PRIMARY | PRIMARY | 4 | xenforo.cc.post.user_id | 1 | |
SIMPLE | signature_parse_cache | eq_ref | content_type_id | content_type_id | 31 | const,xenforo.cc.post.user_id | 1 | Using where |
SIMPLE | session_activity | eq_ref | PRIMARY | PRIMARY | 22 | xenforo.cc.post.user_id,func | 1 | Using where |
INSERT INTO xf_thread_view
(thread_id)
VALUES
(?)
Params: 350213
Run Time: 0.000095
UPDATE `xf_session` SET `expiry_date` = ? WHERE (session_id = 'c8f11abcd66753321673510a8ae10985')
Params: 1716689904
Run Time: 0.000826
INSERT INTO xf_session_activity
(user_id, unique_key, ip, controller_name, controller_action, view_state, params, view_date, robot_key)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE
ip = VALUES(ip),
controller_name = VALUES(controller_name),
controller_action = VALUES(controller_action),
view_state = VALUES(view_state),
params = VALUES(params),
view_date = VALUES(view_date),
robot_key = VALUES(robot_key)
Params: 0, , , XenForo_ControllerPublic_Thread, Index, valid, thread_id=350213, 1716686304,
Run Time: 0.000108
INSERT INTO xf_bb_code_parse_cache
(content_type, content_id, parse_tree, cache_version, cache_date)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE parse_tree = VALUES(parse_tree),
cache_version = VALUES(cache_version),
cache_date = VALUES(cache_date)
Params: post, 356847, a:29:{i:0;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:54:"https://pic1.zhimg.com/da8e974dc_l.jpg?source=8673f162";}}i:1;s:60:" 知乎用户,真空中的雪球形奶牛 民科小咸鱼 ";i:2;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:56:"https://www.zhihu.com/question/48645104/answer/930510429";s:8:"original";a:2:{i:0;s:64:"[URL='https://www.zhihu.com/question/48645104/answer/930510429']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:12:"阅读原文";}}i:3;s:74:"
Timeline 上面推了这个,于是就来说说。首先说明一点,";i:4;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:39:"不要认为自己会游泳就去救人";}}i:5;s:197:",有善良的心当然是好的,但是一旦操作不当很容易发生危险,救人不成反要被救,甚至搭上自己的生命,最后得不偿失。没有经验千万不要逞强。
";i:6;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:30:"最好的方法是间接施救";}}i:7;s:283:"
如果可以的话,最安全稳妥的方法是间接施救。这种情形适用于对清醒的落水者。方法是抛一些漂浮物,比如游泳圈、木板这些,让落水者抓住,等待专业救援。体积越大、质量越轻的物体越好,因为只有满足:
";i:8;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:132:"https://www.zhihu.com/equation?tex=%5Crho_%E6%B0%B4%28V_%E7%89%A9%2BV_%E4%BA%BA%29%3E%28m_%E4%BA%BA%2B%5Crho_%E7%89%A9V_%E7%89%A9%29";}}i:9;s:364:"
施救才有作用。尽量挑选密度小的物体扔下去。然后就是如果落水者离岸边较近的话,一定条件允许可以用系上绳子的游泳圈或者竹竿施救,效果会好一点,但是注意地形,自己站的地方千万不能太滑,否则你就也会被拽下去。这一点有过户外垂钓经验的人应该都会明白。
";i:10;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:27:"不得已采用直接施救";}}i:11;s:190:"
当落水者神志不清醒,不能主动抓住漂浮物,或者岸边没有合适的漂浮物时,如果你有能力,可以考虑直接施救。直接施救要注意以下几点:
";i:12;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:15:"入水需小心";}}i:13;s:373:"
建议采用速度较快的自由泳,或者也可以选用头部一直在水面上的蛙泳。入水时一定要缓慢入水,不要采用鱼跃式,切记!很多救生指南让采用鱼跃式是大错特错的,因为在不熟悉水下情况的时候跳跃入水很容易撞上石头等异物,人没救成自己先负伤。正确的做法是试探着入水。
";i:14;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:15:"拖带溺水者";}}i:15;s:106:"
水上拖带溺水者一般要从背后接近,一般有两种拖带方式,一种是侧泳拖带:
";i:16;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:83:"https://pic3.zhimg.com/v2-d2664029d99c3cb70470fe19b8acdf20_720w.jpg?source=8673f162";}}i:17;s:50:"
侧泳拖带
还有一种叫反蛙泳拖带:
";i:18;a:4:{s:3:"tag";s:3:"img";s:6:"option";N;s:8:"original";a:2:{i:0;s:5:"[IMG]";i:1;s:6:"[/IMG]";}s:8:"children";a:1:{i:0;s:83:"https://pic1.zhimg.com/v2-598653ff397d2fcd251e766e410ed2b4_720w.jpg?source=8673f162";}}i:19;s:302:"
反蛙泳拖带
两种拖带方式都要注意让被溺水者头部在水面以上。虽然第一种方式一般速度较快,但是如果对于没有经验的人而言一般建议采用后者,因为后者更容易控制对方的上肢和头部,避免自己被溺水者缠住,双双溺亡。
";i:20;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:24:"掌握水中解脱方法";}}i:21;s:1811:"
溺水者一般求生欲望强烈,会紧紧抓住施救者,这个时候一定要学会解脱,不然就可能与落水者同时溺水。一般解脱方法有以下几种:
首先是抓腕反拧,如果双手被对方双手抓住,可以抓住对方手腕双手逆时针转动拧开。单手被抓住的时候,比如说右手,应该转腕外翻下压,并用右手及时抓住溺水者的右手腕部向右拉出,使溺水者背贴自己前胸,控制落水者。也可以击打腕部使其松开。
如果单手被双手抓住,比如右手,应该左手虎口向下,用力撞击溺水者的右手腕部,使溺水者松开一手,并紧握溺水者左手腕,然后上身前倾,以左上臂近肘处回击溺水者右手腕部,使之全部解脱,并趁势将溺水者的右手向自己的右手拉,及时将溺水者转体至背贴自己前胸,完成反蛙泳归位。
如果背面被抱住,这个最危险,因为正面被抱住可以踢开,背后抱住一定要低头收紧前面的脖子,避免气管被勒住,然后同时分清溺水者哪只手压在上面。而后上举双手,比如溺水者右手在上时,你用左手紧压溺水者的右手腕部,右手上推溺水者右肘部,自己的头部也随之右侧转出。然后再用右手紧抓溺水者的右手臂肘部,将其拉向自己胸前,反蛙泳归位。
最后是腰被抱住,这个比较实用的方式是掰手指,或者做扩胸运动。其实对穴位有一点了解的话以上任何一种情况只要击打对方肘部一个穴位,就会让整条手臂变麻,自己就脱出来了,就是俗称打麻筋。
无论怎么样,一定要记住不要让对方缠住自己,必要时离开对方重新从背后接近,正确归位反蛙泳则可以下一步操作。
";i:22;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:27:"不要对自己过于自信";}}i:23;s:1785:"
这个说几方面:
首先是体力:游过去、救人游回来是要耗费巨大体力的,更不用说万一被抓住施展解脱术。正常在泳池内游泳很轻松,但是救人完全不一样。尤其是没有户外漂流游泳经验的人,建议不要尝试下水救人。一定要下水,衣服鞋子尽量能脱就脱,千万不要心急省事,救人不差这一两秒,不然下水阻力大第一是危险,第二耽误时间更长。我平常在户外游泳正常上身穿内衣和一件棉运动 T 恤,下身短裤或者运动短裙,基本上感觉体力消耗就已经是在游泳池里的两三倍了。加上衣服湿透以后会很兜水,不在水里的部分也会紧紧贴在身上,如果平时没有练过没有经验游个 50 米估计就出事了。穿日常衣服游泳和泳衣游泳发力的方法和频率是不一样的,千万不要以为自己拿了几个游泳比赛的奖就认为可以救人了。
再者就是水文情况。很多人根本就没有户外经验,看一眼水估测深度都没个数,更别说了解水下情况。很多时候水面上看着平静但是水下暗流涌动,然后你一跳进去就出事了。如果你学过一点物理,了解一点 NS 方程,就不会无知者无畏了。个人碰见过有些水流情况,甚至穿上救生衣都救不了你,反而脱了救生衣潜下去顺着水流游才能逃生。这种情况下没有户外经验就是泥菩萨过河,千万不要莽撞。
最后是心理问题。在体力不支、被对方抓住、遇到复杂水流,能不能做到冷静应对是个问题。有些时候理论知识会了很多,但是真的遇上事情脑子一片空白,平常遇险可能脑子空白就是点挫折,水里脑子一片空白就是没命。
";i:24;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:27:"上岸后处理同样重要";}}i:25;s:738:"
把人救上岸只是第一步,对落水者,尤其是溺水者的急救是救生的重要环节,不然就会前功尽弃。人救上岸后应立即清除其口、鼻腔内的水、泥及污物,用纱布(手帕)裹着手指将溺水者舌头拉出口外,解开衣扣、领口,以保持呼吸道通畅,然后抱起腰腹部,使其背朝上、头下垂进行倒水。或者抱起双腿,将其腹部放在急救者肩上,快步奔跑使水倒出。或急救者取半跪位,使其的腹部放在急救者腿上,头下垂,并用手平压背部进行倒水。
如果被救者心跳呼吸停止,胸外心脏按压和人工呼吸都要跟上。同时一定要注意给落水者盖上干衣物,避免失温。
";i:26;a:4:{s:3:"tag";s:1:"b";s:6:"option";N;s:8:"original";a:2:{i:0;s:3:"[B]";i:1;s:4:"[/B]";}s:8:"children";a:1:{i:0;s:6:"总结";}}i:27;s:1725:"
最后做个总结就是如果你没有相关经验,不要下水才是不搭上自己性命的最好方式。你可以参与上岸后的急救,或者我开始说的岸上救援。真的想要参与下水救援,有这个心的话提前进行相关的训练工作,很多专业的救援组织比如 BSR 都有相关训练可以参加。
再不济着衣游泳一定要练会。自己去海边或者亲水景区,如果允许的话游泳池也行,穿着夏装练练游泳,能穿着湿衣服游几个来回脚不着地再考虑救人的事情。也可以找会游泳的朋友帮助你练习,在水里抓你,让你练一练解脱和施救。哪里有什么渡江节水上马拉松也去多玩玩。等到练的没什么问题了,之后遇到情况再考虑伸出援手。最后,不要看了这篇回答就觉得自己会了,再次说明有这个心就一定要练。不要莽撞行事,雪球写在这里的救援课上都有,但是听懂了不代表会正确操作,雪球会不等于你会,生命不是儿戏,人生不能重来。我们提倡见义勇为,但是更要见义智为。
当然,有兴趣学习户外知识和救援训练当然是好的,毕竟会的人多了救人就变成了自救。能救别人当然就能先救自己,谁也不能保证不出意外,学习救人有时候就是学习保护自己。所以最后再强调,有这个心非常好,但是一定要去参加专业培训,时间并不会很长,教学之后自己回去慢慢练习才是最重要的,会了这些即使救不了人会自救也是好的。雪球也喜欢和有户外经验的小伙伴一起探险,这样万一小伙伴掉水里了,不用雪球累得翻白眼把小伙伴救上来.....
";i:28;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:39:"https://www.zhihu.com/question/48645104";s:8:"original";a:2:{i:0;s:47:"[URL='https://www.zhihu.com/question/48645104']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:12:"阅读原文";}}}, 1621686945, 1716686304
Run Time: 0.000874