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.000512
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.000164
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.000163
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.000126
SELECT session_data
FROM xf_session
WHERE session_id = ?
AND expiry_date >= ?
Params: f1147bc2ebcae0471777b212fa14176f, 1716091671
Run Time: 0.000152
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.000137
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: 356332
Run Time: 0.000349
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: 25
Run Time: 0.000353
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: 356332
Run Time: 0.001915
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: 356332
Run Time: 0.000087
UPDATE `xf_session` SET `expiry_date` = ? WHERE (session_id = 'f1147bc2ebcae0471777b212fa14176f')
Params: 1716095271
Run Time: 0.000845
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=356332, 1716091671,
Run Time: 0.000124
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, 362967, a:7:{i:0;s:474:"11月21日,深圳租客陈楠(化名)收到了房东最后的通牒—要么月底前与房东私下签署租房协议,要么就被清退出去。这让原本是蛋壳公寓(DNK · NYSE)租客的陈楠更加焦虑。2020年4月,她通过蛋壳公寓“租金贷”的方式租下了一个房间,租期为一年。如果她现在与房东直接签署租赁合同,则意味要交双份房租:除了交给房东之外,每月还要还银行的租金贷款。
";i:1;a:4:{s:3:"tag";s:3:"url";s:6:"option";s:73:"https://static.cnbetacdn.com/thumb/article/2020/1121/a4d18f6d574f8a8.jpeg";s:8:"original";a:2:{i:0;s:81:"[URL='https://static.cnbetacdn.com/thumb/article/2020/1121/a4d18f6d574f8a8.jpeg']";i:1;s:6:"[/URL]";}s:8:"children";a:1:{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:97:"https://rdimg.com/proxy/https://static.cnbetacdn.com/thumb/article/2020/1121/a4d18f6d574f8a8.jpeg";}}}}i:2;s:715:"
面临同样困扰的租客并不在少数,随着蛋壳公寓陷入资金链紧张危机以来,引发了各地房东、租客、供应商维权,事件还在不断发酵。同时,备受争议的租金贷模式也再度回到聚光灯下。
“租金贷实际上是一种消费性贷款,过去由于长租公寓企业野蛮发展,借助银行租金贷采取滚雪球式膨胀起来,结果由于前期投资过大,导致资金链断裂,有的关门倒闭,给租客和出租人造成一定的经济损失。”11月19日,华北地区一位监管人士对时代周报记者表示,事实上,这与合作银行审查不严、盲目地跟风介入有关,也有的银行存在炒作心理。
";i:3;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:18:"异化的租金贷";}}i:4;s:3381:"
伴随长租公寓的模式而生,租金贷本身是一种有益的金融创新,较好地解决了经济压力较大的承租人的负担,尤其是在大城市工作不久的年轻人。今年23岁的陈楠,她选中蛋壳公寓的一大原因就是可以月付房租,前提是要签下租金贷合同,但没想到这个决定令她陷入两难境地。
11月19日,浙江银保监局人士林布(化名)对时代周报记者表示,中低收入消费者对租金贷有很大的需求,尤其是在房价及生活成本较高的大城市,但企业在实际运营中搞偏了,走了歪路。
一般而言,租客与长租公寓运营商签订房屋租赁合同时,亦与运营商合作的金融机构签订贷款合约,金融机构一次性将一年的租金支付给运营商,租客则按月再向金融机构偿还租房贷款,运营商则向房东按季度或按月付租金,即“长收短付”。
长租公寓运营商则再利用租户信用借贷搭建的资金池,刺激运营商通过“高进低出”的方式不断扩大规模,即高价从房东手中抢夺房源,以低价租给租客。
11月21日,中原地产首席分析师张大伟对时代周报记者表示,市场上当下所谓的长租公寓都是“伪长租公寓”,全部都是二房东,赚取租金差价与挪用资金池是这类型企业的两大特征。
“现在的长租公寓是一个标准的‘金融企业’。”张大伟说,将房主的预期租金,通过平台项目转移到公司名下,实际控制人可以随意动用,这些金融工具带来了潜在市场风险,形成资金池,资金池最大风险是可以掩盖问题,后移投资风险。
在这样的情况下,一旦长租公寓运营商发生跑路或资金链断裂,房东无法继续获得房租,进而驱赶租客,但租客还需继续偿付每月贷款并面临无房可住的困境。
最近爆雷的蛋壳公寓便是陷入了这样的困局。成败租金贷,租金贷为蛋壳公寓规模扩张提供了支撑,同时留下风险隐患。
根据其招股书显示,2017―2019年前9个月,蛋壳公寓租客使用租金贷的占比分别高达91.3%、75.8%、67.9%。
据悉,蛋壳公寓曾先后合作过的金融机构包括应花分期、会分期、任买分期、网商银行、中关村银行、微众银行。
11月16日,微众银行亦发布公告称,根据租户与蛋壳公寓签署的《房屋代理租赁合同》,租户和业主已形成租赁关系,并已预付租金,享有合法居住权。建议租户在已付租期间继续居住,保障租户的权益。至少在2021年3月31日前,征信将不受影响。
11月22日,建行深圳市分行相关人士对时代周报记者表示,在金融机构,租金贷大都以虚拟信用卡号记账,以消费性分期贷款的形式存在,属于一次性申请操作,利率和征信要求与信用卡相近。
银行给出的“征信保护”时效期只有4个多月。“4个月后怎么办?难道还要继续还贷款?”陈楠说,即便拥有合法居住权,但房东亦会通过换锁、停电停水来驱赶租客。实际上,这也是目前蛋壳租户面临的普遍担忧。
对此,上述建行人士表示,一般来说,如果是有租房合约在身,相对于业主产权,居住权带有一定的优先性。
";i:5;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:6;s:2807:"
早在2019年年底,住建部等六部门发布《关于整顿规范住房租赁市场秩序的意见》(以下简称《意见》),对租赁金融业务进行了规范,其中明确规定,按照住房租赁合同期限、租金趸交期限与住房租金贷款期限相匹配的原则,贷款期限不得超过住房租赁合同期限,发放贷款的频率应与借款人支付租金的频率匹配。
今年9月7日,住建部发布的《住房租赁条例(征求意见稿)》亦提出,商业银行发放住房租金贷款,应当以备案的住房租赁合同为依据,贷款期限不得超过住房租赁合同期限。
“这对贷款的期限进行了严格的限制,就是不能超过租赁合同的期限,以防止贷款被挪作他用,改变性质,加大风险。”上述华北地区监管人士表示。
《意见》还要求放贷机构要做好贷前调查,认真评估借款人的还款能力,确定融资额度。加强贷后管理,严格审查贷款用途,防止住房租赁企业形成资金池、加杠杆。
“这里既有对租客贷款审查的规定,也有对住房租赁企业发放贷款的要求,避免超过借款人的偿还能力,造成信用风险,更重要的是要防止房屋租赁企业设立资金池,无限度、无节制地滚动扩张,导致臃肿虚胖。” 上述华北地区监管人士表示。
租金贷某种程度上给予长租公寓运营商套利的空间,整治长租公寓租金贷早已开始,但是依然不能杜绝运营商爆雷。
今年以来,随着上海、杭州等地长租公寓品牌出现“爆雷”现象之后,重庆、杭州、成都、西安等地也相继出台相应政策,不少地方从资金账户层面提出了明确要求,盯紧长租公寓运营商的“钱袋子”。
重庆要求,承租人支付租金周期超过三个月的,住房租赁企业收到的租金和以房屋租赁贷款方式获得的资金都应纳入监管。杭州要求住房租赁企业对存量委托房源,应缴30%的风险防控金。
“如果不及时整治,长租公寓有可能演变成像P2P那样的乱象。”林布称,蛋壳公寓出事之后,目前一些地方政府组建了联合工作整治小组,由当地住建局牵头,相关部门配合,摸查辖区内长租公寓中介机构开展租金贷业务的情况,以及涉及租金贷规模。
在林布看来,未来应该不会完全禁止租金贷,会在存量的基础上进行整顿使之规范化,并对相关业务制定更严格的规定,让各方都去遵守规定。
“政府部门要加强监管,严把事前准入关,特别是要加强租金账户监管,对长租公寓运营商进行分类管理,防止其披着合法外衣从事违法违规行为。”林布说道。";}, 1621686945, 1716091671
Run Time: 0.001718