一、數(shù)據(jù)量很大,邏輯不能在內(nèi)存里做怎么辦
沒(méi)有必要考慮是否數(shù)據(jù)加載到內(nèi)存中,直接使用數(shù)據(jù)庫(kù)處理即可;
從描述的內(nèi)容看,只是判斷轉(zhuǎn)換的操作,則堅(jiān)定使用數(shù)據(jù)庫(kù)沒(méi)有任何問(wèn)題;
需要做多張表的關(guān)聯(lián)操作,這屬于很正常的,關(guān)鍵是要關(guān)聯(lián)的條件和索引等合理;
對(duì)于你的描述不會(huì)如你所言超過(guò)5,6百行的語(yǔ)句;
最后,提供完整的SQL語(yǔ)句才好給出準(zhǔn)確的優(yōu)化建議,重點(diǎn)是SQL語(yǔ)句如何寫(xiě),索引如何創(chuàng)建。
延伸閱讀:
二、什么是數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)
數(shù)據(jù)庫(kù)的應(yīng)用非常廣泛,舉個(gè)例子,我們平時(shí)在瀏覽器上搜索內(nèi)容,就要用到數(shù)據(jù)庫(kù)去檢索我們的關(guān)鍵字。以前我們可能會(huì)用數(shù)組、集合、文件等來(lái)存儲(chǔ)數(shù)據(jù),但是接下來(lái)我們就會(huì)面臨一個(gè)問(wèn)題,當(dāng)存儲(chǔ)的數(shù)據(jù)或內(nèi)容過(guò)多的時(shí)候,我們?nèi)绾稳ゾ珳?zhǔn)的找到我們需要的東西,這時(shí)候數(shù)據(jù)庫(kù)管理系統(tǒng)就派上了用場(chǎng)。除此之外,數(shù)據(jù)庫(kù)管理系統(tǒng)還能永久的儲(chǔ)存我們的數(shù)據(jù)。
為了便于大家理解,這里先給大家講解幾個(gè)概念
DB數(shù)據(jù)庫(kù)(database):存儲(chǔ)數(shù)據(jù)的“倉(cāng)庫(kù)”。它保存了一系列有組織的數(shù)據(jù)。
DBMS數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System):數(shù)據(jù)庫(kù)是通過(guò)DBMS創(chuàng)建和操作的容器。
SQL,結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structured Query Language)用一句話概括,SQL是一種特殊目的的編程語(yǔ)言,一種專(zhuān)門(mén)用來(lái)與數(shù)據(jù)庫(kù)通信的語(yǔ)言。在數(shù)據(jù)庫(kù)中,數(shù)據(jù)被結(jié)構(gòu)化并存儲(chǔ)在不同的表中,從而簡(jiǎn)化了訪問(wèn),更新和操作數(shù)據(jù)的過(guò)程。該表由列和行組成。數(shù)據(jù)庫(kù)中的表可以在關(guān)系的幫助下進(jìn)行連接。要在數(shù)據(jù)庫(kù)中執(zhí)行與數(shù)據(jù)相關(guān)的任務(wù),可以使用SQL。SQL代表結(jié)構(gòu)化查詢(xún)語(yǔ)言,旨在在特定RDBMS內(nèi)創(chuàng)建,修改和管理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
SQL優(yōu)點(diǎn):
1、不是某個(gè)特定數(shù)據(jù)庫(kù)供應(yīng)商專(zhuān)有的語(yǔ)言,幾乎所有DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))都支持SQL
2、簡(jiǎn)單易學(xué)
3、雖然簡(jiǎn)單,但實(shí)際上是一種強(qiáng)有力的語(yǔ)言,靈活使用其語(yǔ)言元素,可以進(jìn)行非常復(fù)雜和高級(jí)的數(shù)據(jù)庫(kù)操作。