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.000539
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.000143
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.000141
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.000140
SELECT session_data
FROM xf_session
WHERE session_id = ?
AND expiry_date >= ?
Params: 8903d780c72cf632f8e2eebed97ac632, 1716113217
Run Time: 0.000349
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.000143
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: 302864
Run Time: 0.000624
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.000519
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: 302864
Run Time: 0.023242
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: 302864
Run Time: 0.000087
UPDATE `xf_session` SET `expiry_date` = ? WHERE (session_id = '8903d780c72cf632f8e2eebed97ac632')
Params: 1716116817
Run Time: 0.018968
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, /J, /J, XenForo_ControllerPublic_Thread, Index, valid, thread_id=302864, 1716113217,
Run Time: 0.000111
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, 309487, a:17:{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:64:"http://pic1.zhimg.com/v2-8ebc5dce8f7d79e49b580161f2ccb374_is.jpg";}}i:1;s:78:" 羽则,写足球的公众号:内德羽则说 写其他:羽则的树洞 ";i:2;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:58:"https://www.zhihu.com/question/310335021/answer/1102926482";s:8:"original";a:2:{i:0;s:66:"[URL='https://www.zhihu.com/question/310335021/answer/1102926482']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:12:"阅读原文";}}i:3;s:1057:"
看到这个题目,很多球迷肯定会想起那些因为酗酒玩乐等各种不自律(甚至吸毒),最终导致自毁前程的球星。
所以我决定换个故事讲讲。
文森特 - 佩里卡德一直觉得,他会有一个完美的职业生涯。
他 1982 年出生于喀麦隆,不过 4 岁时就跟随父母移居去了法国。6 岁时,他就加入了著名的圣埃蒂安青训营,并且在各级青年队都是进球如麻的超级前锋。在这家曾经走出过普拉蒂尼等足坛大佬的俱乐部,年轻的佩里卡德满心以为自己会是下一站的天王。
剧情一开始也是这么走的。佩里卡德如愿取得了法国国籍,开始代表各级别法国少年队和青年队参加国际赛事。1999 年,17 岁的他升入了圣埃蒂安一线队,并且为球队出场踢了两场联赛。
这两场比赛都没有进球,但人们看到了一个灵性十足并且态度积极的妖人前锋。再加上他继续为青年队不断攻城拔寨,很多大牌俱乐部都抛来了橄榄枝。
";i:4;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:66:"http://pic2.zhimg.com/70/v2-bb1f6ae6247ba430560978cf82119b81_b.jpg";}}i:5;s:394:"
在那个赛季结束之后,尤文图斯抢先一步挥舞着支票签走了佩里卡德。围观媒体纷纷发来贺电,法国电视台甚至为这个 18 岁的黑人小伙特别拍了一个纪录短片,名字叫《未来价值上亿的男人》。
上亿什么的或许太过夸张,但在大多数人眼里,佩里卡德已经走上了前辈普拉蒂尼的那条康庄大道。
";i:6;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:66:"http://pic2.zhimg.com/70/v2-762f3bdfaf7a89f8da7e8e7f7de1fe41_b.jpg";}}i:7;s:847:"
他自己也是这么想的。第一个赛季,他在青年队积蓄着力量。第二个赛季,他开始得到与一线队大牌球星们合练的机会,还在 2002 年 3 月对阵阿森纳的欧冠联赛里上演了尤文生涯的首秀。
升职,加薪,成为国际球星,走上人生巅峰,一切似乎近在眼前。嗯,好像就差“迎娶白富美”了……
而那时的尤文,也是想把他往国际球星的路子上培养的。在训练场里,他是青年队教练和一线队教练共同重点鞭策的对象。在训练场外,俱乐部专门安排了一位面容姣好、身材火辣的女性家庭教师,为佩里卡德和其他两名法国球员一起补习意大利语,帮助他们更好地融入球队。
等等,面容姣好、身材火辣、学外语……怎么好像有什么地方不对?
";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:66:"http://pic2.zhimg.com/70/v2-4ecd523bde137d9faee5b4e5f3c65649_b.jpg";}}i:9;s:1195:"
20 岁血气方刚的骚年哪里见过这种架势,佩里卡德转念一想:难道俱乐部这是要帮他把“迎娶白富美”也给安排了?
心动不如行动,人生历来顺风顺水的他在某天上完课后,给美丽的家庭教师发了条短信,约她出去和学生们喝一杯。据说,用词还比较露骨。
美女家教当时并没有回短信,但佩里卡德在一个小时之后接到了某个陌生号码打来的电话。当他按下接听键之后,对面是一个愤怒的男人嘶吼的声音:“劳资是罗伯特 - 贝特加,你小子约我女朋友是什么鬼意思?!”
佩里卡德的第一反应是懵逼,第二反应就是……完了。
罗伯特 - 贝特加是谁?尤文名宿,踢球时拿过意甲最佳射手,因为射术精湛和半白的头发绰号“白羽毛”。退役后加入俱乐部管理层一路坐到尤文副主席,当时还刚刚接替弗洛伦蒂诺成为了欧洲豪门俱乐部联盟 G14 的执行委员会主席。
总之,在尤文图斯这是大佬中的大佬。找美女给佩里卡德他们做家教不是为了给小伙子解决人生大事,而是为了照顾大佬的私人关系。
";i:10;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:66:"http://pic1.zhimg.com/70/v2-6b13cb59eecdf72f482fe85e3191ee98_b.jpg";}}i:11;s:1232:"
第二天,贝特加把佩里卡德等三名法国球员喊到了自己的办公室,怒斥了他们不好好学外语、满脑子都是那档子事的幼稚想法。
一个月之后,尤文图斯把佩里卡德租借给了英冠的朴茨茅斯。尽管他在租借期有着不错的表现,也以主力身份帮助朴茨茅斯升入了英超。但尤文还是再也没给过佩里卡德任何机会,2003 年直接把他彻底卖去了英格兰。
然后,佩里卡德的职业生涯开始发生 180 度的调转。
2003-04 赛季,他先后遭受了大腿肌肉和十字韧带的严重伤病,基本没有为朴茨茅斯踢过几场比赛,更没有任何联赛入球。伤愈后经过多次租借,2006 年被卖去了斯托克城。而在那里,佩里卡德也没能回应当年人们对他的期待,38 次出场只打入了 2 粒进球,又被先后租借给了南安普顿和米尔沃尔。
尤文生涯的突然中止、连续的严重伤病和不断下滑的表现,使得佩里卡德的心理受到了严重的打击。这个原本自信满满的年轻人开始在训练结束之后把自己关在黑暗的房间里,不跟任何人说话,觉得自己毫无价值,甚至动过轻生的念头。
";i:12;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:66:"http://pic4.zhimg.com/70/v2-0d78502016ec7f9eaa73b24e4085fd9b_b.jpg";}}i:13;s:368:"
2009 年,他和斯托克城合约到期后开始辗转各家低级别联赛俱乐部,从英冠打到英甲再到英乙,30 岁时以一个英格兰国家联赛(第五级别)球员的身份选择了退役。
佩里卡德的“悲剧”显然有很多方面的原因。足球世界里少年天才数不胜数,但最终真正走上巅峰的始终屈指可数。";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:132:"更何况如果他真有足够的竞技水平和心理承受能力,哪怕离开了尤文图斯也有重新踏入豪门的机会。";}}i:15;s:470:"
但在佩里卡德退役后接受采访时,仍然坚持伤病只是自己没能兑现天赋的第二原因,第一就是那次找错了对象的搭讪:“如果没有那条短信,我的人生肯定会完全不同!”
不过后来他又开始了新事业,关注球员们的心理健康。于是说法也变成了“那条短信并不是关键,关键是媒体们整天关注这个毁了我!”
虽然,这事儿是当年他自己曝给媒体的……
";i:16;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:39:"http://www.zhihu.com/question/310335021";s:8:"original";a:2:{i:0;s:47:"[URL='http://www.zhihu.com/question/310335021']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:12:"阅读原文";}}}, 1621686945, 1716113217
Run Time: 0.024421