第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

大牛請(qǐng)進(jìn)..問個(gè)關(guān)于 網(wǎng)易 評(píng)論 的問題 200分奉上

大牛請(qǐng)進(jìn)..問個(gè)關(guān)于 網(wǎng)易 評(píng)論 的問題 200分奉上

慕姐4208626 2018-12-07 02:17:51
http://comment.news.163.com/news_guonei4_bbs/5U5VVMOP0001124J.html 這個(gè)是網(wǎng)易的評(píng)論.. 我現(xiàn)在想問的是大牛們是如何處理...如何設(shè)計(jì)數(shù)據(jù)庫.. 一種是直接將引用的數(shù)據(jù)直接存進(jìn)數(shù)據(jù)庫....這種優(yōu)點(diǎn)是方便處理..性能也高.就是評(píng)論內(nèi)容字段會(huì)有點(diǎn)大. 另一種是在數(shù)據(jù)庫中新建一個(gè)字段 Parentid 來顯示...當(dāng)parentid=null 的時(shí)候是沒用引用任何內(nèi)容.. 當(dāng)parentid !=null的時(shí)候.查找上一級(jí)ID..然后一直遞歸..直接ParentID=null.. ? 如果是你們?cè)O(shè)計(jì)的話..你們會(huì)如何設(shè)計(jì) ... ? ? 順便再放上一個(gè)問題...請(qǐng)問一下 SQL 2005 "with as " 如何操作......自己找了一些資料.不太明白.. 我現(xiàn)在有字段 ? employeeID, ManagerID. ? ManagerID是employeeID的外鍵 我如何用 with as 語句得到 ?employeeID=1的所有上級(jí).直到ManagerID=null..大概就是個(gè)遞歸的概念 ?
查看完整描述

5 回答

?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

在沒有想到更好的辦法前,還是直接寫入數(shù)據(jù)庫吧~使用Parentid沒有索引就會(huì)查的很慢了,建立索引的話也是硬盤開銷。犧牲硬盤的成本比犧牲速度的成本要便宜。

另外,如果用Parentid,那么引用的帖子如果修改或者刪除了怎么辦?引用者說的話就無法知道其原意了。

—————

想了想,如果不用第一種方法。想到一個(gè)效率更高些的方法:

每個(gè)非引用貼的ID為整數(shù)x10000(假設(shè)最多9999個(gè)回復(fù)的情況下),如12345 0000

引用帖的ID為原帖ID+1 即 12345 0001 ,12345 0002 等等

這樣,假如要得到ID為2220010的帖的所有引用時(shí),只需要where id>=2220000 and id<= 2220010 就可以了。應(yīng)該比遞歸快很多(ID為聚集索引)

?

(這樣取出的順序就和原來不一樣了,不過可以 order by postTime,還可以加一些邏輯,保證對(duì)多個(gè)post引用一個(gè)post的時(shí)候只按最大的ID取一次)

?

(另外,假如有這么一種情況,一個(gè)論壇有很多分區(qū),每個(gè)分區(qū)又可以有子分區(qū),子分區(qū)還可以“無限”有子分區(qū)。 在這種情況下,也盡量不要用parentId即遞歸,而是考慮使用位域(flags))

查看完整回答
反對(duì) 回復(fù) 2019-01-07
?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

我想評(píng)論內(nèi)容按照大小分為存儲(chǔ)在數(shù)據(jù)庫中和存儲(chǔ)在文件中,大評(píng)論數(shù)據(jù)庫中只存標(biāo)志,標(biāo)志指向內(nèi)容所在的文件,在顯示時(shí)異步加載數(shù)據(jù)庫和文件中的評(píng)論。

遞歸這東西應(yīng)該用到,不然怎么遍歷評(píng)論的評(píng)論呢?

?

with as 就是個(gè)結(jié)果集別名,

with test as?(select * from test)

select * from test where a=1;

你那個(gè)應(yīng)該寫成

employeeID 所在表為employee,ManagerID所在表為Manager

select * from?employee as e,ManagerID as m where e.employeeID=1 and ManagerID<>null

查看完整回答
反對(duì) 回復(fù) 2019-01-07
?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

可能是我沒說清楚..employeeID,ManagerID都在employee表中...其實(shí)是Sql2005自帶的數(shù)據(jù)庫AdventureWorks 中的HumanRecoures.Employee表
查看完整回答
反對(duì) 回復(fù) 2019-01-07
?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊

恩.很不錯(cuò)的思路...
查看完整回答
反對(duì) 回復(fù) 2019-01-07
  • 5 回答
  • 0 關(guān)注
  • 659 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)