设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 107|回复: 12

有采集大佬吗?请问一个数据库入库的问题

[复制链接]

27

主题

118

回帖

357

积分

中级会员

积分
357
发表于 2019-8-6 08:21:05 | 显示全部楼层 |阅读模式
本帖最后由 dengwen168 于 2019-8-6 08:23 编辑

采集的数据要写入cms的数据库,
遇到有外键的情况怎么处理好呢?

比如采集文章入库,文章分类所在的字段是文章分类的id。

这样就需要先执行一次数据库查询,查询到这个文章分类的id,再写入到文章所在的数据表。

入一条记录要查询一次,感觉这方法很笨啊,

大佬们有什么好的方法吗?

谢谢。。
回复

使用道具 举报

3

主题

219

回帖

475

积分

中级会员

积分
475
发表于 2019-8-6 08:39:52 | 显示全部楼层
数据库查询反而是秒速,不用担心这个,别的操作都是龟速~
回复

使用道具 举报

12

主题

101

回帖

254

积分

中级会员

积分
254
发表于 2019-8-6 09:01:17 | 显示全部楼层
可以考虑把分类组成一个数组  直接取就行了   。。。每次更新分类后需要重新更新这个数组
回复

使用道具 举报

93

主题

1136

回帖

2649

积分

金牌会员

积分
2649
发表于 2019-8-6 09:07:51 | 显示全部楼层
不懂为什么要先查询一次文章分类
回复

使用道具 举报

2

主题

357

回帖

744

积分

高级会员

积分
744
发表于 2019-8-6 09:19:13 | 显示全部楼层
本帖最后由 我是一个大水怪 于 2019-8-6 09:22 编辑

dakai 发表于 2019-8-6 09:07

不懂为什么要先查询一次文章分类


因为他采集获取的是分类文本而不是分类id。

单独采集,不需要考虑数据库问题。其实你的应用应该也达不到需要考虑数据库的地步。
查询一次分类id其实也花不了啥时间(因为分类总体很小,如果你建了索引速度会更快),如果你真觉得不舒服,可以先加载所有文章分类到内存中(本质就是缓存),建立反向索引,每次直接查内存即可。
回复

使用道具 举报

60

主题

1425

回帖

3086

积分

论坛元老

积分
3086
发表于 2019-8-6 09:07:00 | 显示全部楼层
楼上   学到了
回复

使用道具 举报

27

主题

118

回帖

357

积分

中级会员

积分
357
 楼主| 发表于 2019-8-6 09:27:46 | 显示全部楼层

我是一个大水怪 发表于 2019-8-6 09:19

因为他采集获取的是分类文本而不是分类id。

单独采集,不需要考虑数据库问题。其实你的应用应该也达不到 ...

请问一下火车头之类的采集软件,

他们写入wordpress, dedecms之类的程序时,也是使用的这样的插入数据库的形式么?

谢谢。
回复

使用道具 举报

9

主题

296

回帖

655

积分

高级会员

积分
655
发表于 2019-8-6 09:29:37 | 显示全部楼层
网站的分类往往是个固定的ID,所以可以写在采集规则里。
如果用火车头的话,采集到的分类名是中文,可以使用文本替换的方式将分类名替换成网站里固定的分类ID
回复

使用道具 举报

12

主题

248

回帖

564

积分

高级会员

积分
564
发表于 2019-8-6 09:19:00 | 显示全部楼层
干掉外键

数据库不要用外键
回复

使用道具 举报

8

主题

263

回帖

596

积分

高级会员

积分
596
发表于 2019-8-6 09:33:10 | 显示全部楼层

dengwen168 发表于 2019-8-6 09:29

请问一下火车头之类的采集软件,

他们写入wordpress, dedecms之类的程序时,也是使用的这样的插入数据库 ...

不了解,抱歉帮助不了你。
锦安 发表于 2019-8-6 09:45

干掉外键

数据库不要用外键

小站可以,

大站不好吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-12-24 01:44 , Processed in 0.019693 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表