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.002748
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.000184
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.000326
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.000181
SELECT cache_value
FROM xf_permission_combination
WHERE permission_combination_id = ?
Params: 1
Run Time: 0.000432
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: 72837
Run Time: 0.000784
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.000414
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: 72837
Run Time: 0.006422
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: 72837
Run Time: 0.000104
INSERT INTO `xf_session` (`session_id`, `session_data`, `expiry_date`) VALUES (?, ?, ?)
Params: 3c422666b1d32e99287376f96ea5f5e7, , 1714906444
Run Time: 0.001274
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=72837, 1714902844,
Run Time: 0.000120
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, 74999, a:11:{i:0;s:299:"宅在家里码字就能成为年收入过百万甚至千万的“土豪”,网络文学和网络作家近年以来已经不再是边缘,而跻身主流的收入也令不少有些文学天赋的人们向往不已。那么真实的情况果真如此么?网络写手又是怎么赚钱的呢?
";i:1;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:2;s:3082:"
近年来,市场的发展催生出一批高收入的作者。据2012年网络作家富豪排行榜显示,唐家三少、我吃西红柿、天蚕土豆分别以3300万、2100万、1800万的版税收入居“网络作家富豪榜”前三甲。而猫腻、无罪、南派三叔等作者年收入也已突破数百万。
不过,每一个网络作家都是从默默无闻开始的。网络作家李咚咚(化名)从高中起就开始在网上写文,写作的脚步从“红袖添香”到“百度贴吧”再到“晋江文学网”。在最早的时候,只是凭着爱好和网友交流自己的创作,直到晋江文学网引入VIP制度,网站编辑找她签约以后才开始有收入。在网站上写作让李咚咚赚到了人生的第一桶金,而对于当时还在上大学的她来说,一个月能够拿到7000元左右的收入算是非常不错的。
人气对于网络作家而言,某种程度上就等于收入。那么,他们又是如何从无名的小写手到有粉丝拥戴的作家呢?李咚咚说,首先可以通过免费的部分来吸引读者,积攒人气后与网站签约就能够获得收入。在网上连载的最初,不要一开始就进入收费的行列,可以先放上一些免费的内容给读者尝鲜。这样,一部作品就能够慢慢积攒起一部分固定的读者。之后,再将后面的部分加入VIP区,即收费订阅。她说,尤其是在有转折剧情发生的章节,当读者读到欲罢不能的时候,如果下一章是VIP章节则读者选择付费订阅的可能性就要大很多。此外,取一个好的作品名字和吸引人的内容简介也是关键,这意味着作品在第一时间是否吸引读者。
另外,可以通过微博、微信、QQ群等方式和读者直接建立联系,通过沟通培养出一批铁杆粉丝。李咚咚也有自己的实名认证微博,并且建立了自己的读者群,时不时和读者互动聊天,甚至办一些私下的聚会活动。这样经过作者认真维系关系的读者更容易产生死忠粉,而这部分铁杆粉丝往往就愿意付费阅读网络作家的作品。此外,这部分粉丝还会通过一些互联网的途径自发地推荐作家的作品,比如在微博、天涯社区、贴吧、小说论坛等地发一些推荐小说的帖子,这样经过读者之间的宣传也会大大提升作品的点击率。
李咚咚对记者说,“我并不是很勤奋的写手,是属于那种收藏率较高但更新比较慢的,所以收入相对一般。对于那些作品很红、更新稳定的,写一部作品花掉3~4个月的时间,赚上十几万元是正常的事情。”
除了天分外,更多时候网络写作并不是看上去那么风花雪月,而是一项体力活。李咚咚说,普通网络写手想要获得稳定收入,每天都必须有6000字以上的更新。即使是大神级的写手也是非常幸苦的,宅在家里写文,每天要写过万字才能够达到读者“更新稳定”的要求,这只有耐得住寂寞的人才能够承受。
";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:27:"网络文学的粉丝经济";}}i:4;s:569:"
《连线》杂志的创始主编凯文·凯利曾有一个著名的论断,即一千个铁杆粉丝的效应。这是说,对于创作者而言,只需拥有一千名铁杆粉丝便能糊口。所谓铁杆粉丝,是指无论你创造出什么作品,他(她)都愿意付费购买。网络作家相对于传统作家而言,更容易能够找到这一千名铁杆粉丝并与他们建立直接的联系,而能够成功实践这一结论的作者通常都能够获得稳定的收入。
目前网络写手的收入来源,主要有以下三个方面:
";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:26:"1.订阅数是基本收入";}}i:6;s:1101:"
首先是读者订阅数,这部分相当于作者的基本收入。在文学网站中普遍存在着一种VIP制度,以一部普通的网络小说而言,前十几万甚至几十万字是提供给读者免费阅读的,等小说的点击率到达一定的高度,便会被网站转到VIP区,读者要阅读之后的内容则需要付费,费用通常来说是千字2分钱到6分钱。据李咚咚介绍,通常网站与作者签约的时限为5年。但并非所有的文章都有资格加入VIP,只有当文章经过一段时间连载后获得了一定数额的收藏率和点击率,被网站编辑相中后,才能够加入VIP。
李咚咚说,以她月入7000元的小说为例,实际上读者付的费用在1万元以上,不过由于这部分连载收入需要和网站按照7:3的比例分成,因此她得到的实际数额是7000元。通常而言,网络写手与网站对于VIP连载的分成比例在50%到100%不等。此外,文学网站为了依靠作品更新吸引读者,会鼓励作者尽可能快、多地更新作品,并设置专门的全勤奖。
";i:7;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:38:"2.“打赏”出的惊人粉丝经济";}}i:8;s:1418:"
其次是通过打赏模式挣取外快。打赏模式也是近期以来备受追捧的一种方式。今年8月,一位名为“人品贱格”的狂热粉丝,一夜间为自己在纵横中文网的偶像作者“梦入神机”的新作品《星河大帝》送上整整1亿纵横币(折合人民币100万元)的“打赏”, 创下了网络文学界有史以来粉丝“打赏”作者的最高纪录,震惊了整个网络文学届,也让人不禁感叹网络文学背后隐藏的无限商机。
所谓的打赏模式究其本质而言其实很简单,无非就是读者对于喜爱的作者的作品,给予一定的“打赏”。如起点中文网“打赏”额度从每次100起点币(1元)至1万起点币(100元)不等。
有网络作家为了获得“月票”“打赏”,甚至会采用将出金额高的粉丝名字写入作品等方式作为奖励。李咚咚对记者说,现在时常会有各家粉丝相互PK的场景出现,这也一定程度上推升了“打赏”的额度。有业内人士估计,一个大神级写手完成一部小说连载,其纯收入应该不会低于200万,但拥趸的打赏累计一般也有几十万元,打赏可能占到总收入的1/5到1/4。据知情人透露,目前几乎所有网站都选择和作者五五分成,以上述打赏达100万元的案例而言,作者“梦入神机”和纵横中文网各获得50万元。
";i:9;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:26:"3.版权延伸收入范围";}}i:10;s:1166:"
另外,贩卖版权也是网络作者收入的一大块延伸。最基本的部分是图书出版的版权。李咚咚对记者说,当作品聚集一定的人气以后,就很可能会有出版社找到作者,表达出实体书的意向。不过对于一般的网络作者而言,这部分的版权并不高,一本书大概只能卖到1万至几万元的版权。而这部分版权也要和网站分成,网站通常会抽走20%。
不过,随着网络文学的发展,网络文学的外延也在不断延伸,在许多网络作家的眼中,作品能够被影视、游戏出版商看重,赚的影视、游戏文本的版权也成为了另一种收入来源。近期而言,不少网络文学改编的影视作品都大热银幕和荧屏,银幕上有《失恋33天》、《致我们终将逝去的青春》等,荧屏上则有热播剧《后宫·甄嬛传》、《步步惊心》等。
此外,据知情人透露,也有网络文学平台甚至自己成立编剧公司培训作家成为专职编剧,甚至有网络写手充当编辑“枪手”。不过这部分的收入并不高,但也比网络写手中的底层收入高出不少。";}, 1621686945, 1714902844
Run Time: 0.001873