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.000561
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.000150
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.000145
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.000136
SELECT session_data
FROM xf_session
WHERE session_id = ?
AND expiry_date >= ?
Params: b9e5319bed1936b4cbab0cddcc6d8b0c, 1716556384
Run Time: 0.000202
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.000152
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: 574776
Run Time: 0.000469
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.000372
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: 574776
Run Time: 0.002178
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: 574776
Run Time: 0.000099
UPDATE `xf_session` SET `expiry_date` = ? WHERE (session_id = 'b9e5319bed1936b4cbab0cddcc6d8b0c')
Params: 1716559984
Run Time: 0.000981
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=574776, 1716556384,
Run Time: 0.000114
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, 581735, a:7:{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:80:"https://pic3.zhimg.com/v2-4f2b9911423fc5eb4533c525c8f7e4b8_l.jpg?source=8673f162";}}i:1;s:59:" 王瑞恩,老王力气大无穷,双手举起纸灯笼 ";i:2;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:58:"https://www.zhihu.com/question/486361816/answer/2117877137";s:8:"original";a:2:{i:0;s:66:"[URL='https://www.zhihu.com/question/486361816/answer/2117877137']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:12:"阅读原文";}}i:3;s:215:"
当然不是,用赫伯特 西蒙的有限理性模型解释公司管理层的决策,往往能更好地反映现实。
在有限理性模型之中,人们追求的不是绝对的最优结果,而是相对能";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:12:"令人满意";}}i:5;s:2483:"、能达成基本目标的结果。
举个假想的例子:
某食品公司的管理层考核关键指标为公司的市值,如果管理层能将市值提升到 100 亿,则公司不需要裁员、高管能获得丰厚的股权激励、现有供应商和经销商的关系都能维持下去。
目前,管理层面前有两个选择:
1、增加现有产品线的营销力度,有 80% 的可能性恰好让市值达到 100 亿,有 20% 的可能性让市值达到 90 亿;
2、研发新的产品,有 50% 的可能性让公司市值达到 200 亿,但也有 50% 的可能性让公司市值达到 90 亿。
如果管理层是绝对理性的,且公司完全风险中性,选项 2 的预期收益更高,是更加理性的选择。
然而,管理层很难抵御实现「令人满意」结果的诱惑 -- 所有人都安全上岸,自己能拿到股权激励,上下游关系保持稳定,这不挺好的嘛,何必冒险追求绝对最优呢?
这里的「令人满意」还有一层意思:如果已知存在一种可行的手段,那么人们不会再去尝试穷尽所有潜在的手段继续尝试。假如半年过去了,目前产品线的销售情况不错,有极大概率能完成 100 亿市值的目标,那么管理层很可能并不会再斥重金聘请咨询公司寻找新的业务方向,尽管这些方向中可能蕴含着更好的结果。
另外,在有限理性模型中,人们并非依据全部的信息作出决策的,也并不能完全洞悉目的和手段之间的关系。
回到食品公司的例子,如果这家公司的主营产品是方便面,管理层或许还会顺便关注一下自热米饭的市场数据,但恐怕并不会针对牛肉干做市场调研(众所周知,红烧牛肉面一年只需要一头牛)。即便这个市场有着巨大的商业机遇,有助于实现最优结果,但并不会被纳入决策范围之内。
同时,市场上也存在难以被解释的因果关系,即使能够解释,法律、社会道德也可能不允许公司采取对应手段。例如,疫情爆发初期,人们大量囤积方便面用于应对居家隔离,在两年前,人们很难预测到这样的因果关系。同时,即便人们后来了解到了这样的因果关系,法律和人性都不允许方便面企业故意传播病毒来实现业务目标。
综上,用有限理性的视角去解释公司管理层的行为,也许会和现实世界取得更好的拟合效果。
";i:6;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:40:"https://www.zhihu.com/question/486361816";s:8:"original";a:2:{i:0;s:48:"[URL='https://www.zhihu.com/question/486361816']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{i:0;s:12:"阅读原文";}}}, 1621686945, 1716556384
Run Time: 0.000959