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

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

哪個(gè)效率更高:多個(gè)MySQL表還是一個(gè)大表?

哪個(gè)效率更高:多個(gè)MySQL表還是一個(gè)大表?

UYOU 2019-12-13 09:00:01
我在MySQL數(shù)據(jù)庫中存儲(chǔ)了各種用戶詳細(xì)信息。最初,它是在各種表中設(shè)置的,這意味著數(shù)據(jù)與UserId鏈接,并通過有時(shí)復(fù)雜的調(diào)用輸出,以根據(jù)需要顯示和操作數(shù)據(jù)。建立一個(gè)新系統(tǒng),將所有這些表組合成一個(gè)大的相關(guān)內(nèi)容表幾乎是有意義的。這將是幫助還是阻礙?調(diào)用,更新或搜索/操作時(shí)的速度考慮?這是我的一些表結(jié)構(gòu)的示例:用戶-用戶ID,用戶名,電子郵件,加密的密碼,注冊日期,IPuser_details-Cookie數(shù)據(jù),姓名,地址,聯(lián)系方式,從屬關(guān)系,人口統(tǒng)計(jì)數(shù)據(jù)user_activity-貢獻(xiàn),最近一次在線訪問,最后一次查看user_settings-配置文件顯示設(shè)置user_interests-廣告可定位變量user_levels-訪問權(quán)限user_stats-匹配數(shù)編輯:到目前為止,我已經(jīng)對所有答案進(jìn)行了投票,它們都有本質(zhì)上可以回答我問題的元素。大多數(shù)表具有1:1的關(guān)系,這是使它們歸一化的主要原因。如果表格跨越100多個(gè)列,而這些單元格的大部分可能仍為空時(shí),會(huì)不會(huì)有問題?
查看完整描述

3 回答

?
慕雪6442864

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

多個(gè)表以下列方式/案例提供幫助:

(a)如果不同的人要開發(fā)涉及不同表的應(yīng)用程序,則將它們拆分是有意義的。

(b)如果您想為不同的人賦予不同的權(quán)限,以進(jìn)行數(shù)據(jù)收集的不同部分,則拆分它們可能更為方便。(當(dāng)然,您可以查看定義視圖并對其進(jìn)行適當(dāng)授權(quán))。

(c)為了將數(shù)據(jù)移動(dòng)到不同的地方,尤其是在開發(fā)過程中,使用表來減小文件大小可能是有意義的。

(d)在基于單個(gè)實(shí)體的特定數(shù)據(jù)收集開發(fā)應(yīng)用程序時(shí),較小的占地面積可能會(huì)給您帶來舒適感。

(e)這是一種可能性:您認(rèn)為作為單個(gè)值的數(shù)據(jù)將來可能會(huì)變成真正的多個(gè)值。例如,信用額度到目前為止是單個(gè)值字段。但是明天,您可能會(huì)決定將值更改為(日期從,日期到,信用值)。拆分表現(xiàn)在可能會(huì)派上用場。

我的投票將是針對多個(gè)表-數(shù)據(jù)已適當(dāng)拆分。


查看完整回答
反對 回復(fù) 2019-12-13
?
HUWWW

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

合并表稱為非規(guī)范化。

可能會(huì)(或可能不會(huì))使某些查詢(使很多JOINs)更快地運(yùn)行,而以創(chuàng)建維護(hù)地獄為代價(jià)。

MySQL只能使用JOIN方法,即NESTED LOOPS。

這意味著對于驅(qū)動(dòng)表中的每個(gè)記錄,MySQL在循環(huán)中在驅(qū)動(dòng)表中找到匹配的記錄。

查找記錄是相當(dāng)昂貴的操作,可能需要花費(fèi)純記錄掃描數(shù)十倍的時(shí)間。

將所有記錄移到一個(gè)表中將幫助您擺脫此操作,但是表本身會(huì)變大,并且表掃描需要更長的時(shí)間。

如果其他表中有很多記錄,則表掃描的增加可能會(huì)增加按順序掃描記錄的好處。

另一方面,可以保證維護(hù)。


查看完整回答
反對 回復(fù) 2019-12-13
?
智慧大石

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

他們都是1:1的關(guān)系嗎?我的意思是,如果某個(gè)用戶可以屬于不同的用戶級別,或者如果用戶興趣在用戶興趣表中表示為多個(gè)記錄,那么合并這些表將立即成為問題。

關(guān)于以前關(guān)于規(guī)范化的答案,必須說數(shù)據(jù)庫規(guī)范化規(guī)則完全忽略了性能,而只是在看什么是整潔的數(shù)據(jù)庫設(shè)計(jì)。這通常是您想要實(shí)現(xiàn)的目標(biāo),但是有時(shí)在追求性能方面積極地規(guī)范化是有意義的。

總而言之,我要說的問題歸結(jié)為表中有多少個(gè)字段,以及它們被訪問的頻率。如果用戶活動(dòng)通常不是很有趣,那么出于性能維護(hù)的原因,始終將其保留在同一記錄上可能會(huì)很麻煩。如果經(jīng)常訪問某些數(shù)據(jù)(例如設(shè)置),但僅包含太多字段,則合并表可能也不方便。如果僅對性能提高感興趣,則可以考慮其他方法,例如將設(shè)置分開,但將其保存在自己的會(huì)話變量中,這樣就不必經(jīng)常查詢數(shù)據(jù)庫。


查看完整回答
反對 回復(fù) 2019-12-13
  • 3 回答
  • 0 關(guān)注
  • 771 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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