3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用數(shù)據(jù)庫方法(最好且安全)而不是文件夾搜索。因此,如果您沒有添加index
用戶表,請(qǐng)?zhí)砑铀饕詫?shí)現(xiàn)最快搜索 -ALTER TABLE table_name ADD INDEX index_name (column);
編輯 :
用例 -
如果您將用戶名存儲(chǔ)為文本,并將用戶的個(gè)人資料圖片存儲(chǔ)在
BLOB
同一個(gè)表中,則必須SELECT username
使用SELECT *
.

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
我認(rèn)為這取決于您擁有的數(shù)據(jù)和數(shù)據(jù)庫設(shè)計(jì)。但是如果你在用戶名上使用索引(唯一),數(shù)據(jù)庫會(huì)更快。這一切都與搜索算法有關(guān)。
假設(shè)您有1,000,000 個(gè)用戶。當(dāng)你檢查文件夾時(shí),它會(huì)一一檢查,但如果你使用數(shù)據(jù)庫檢查,它會(huì)通過用戶名直接檢查數(shù)據(jù)。因?yàn)閿?shù)據(jù)庫搜索算法非常先進(jìn)。

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
訪問文件系統(tǒng)是最慢的事情。另一方面,數(shù)據(jù)庫可能將其索引存儲(chǔ)在 RAM 中,訪問速度要快得多。所以我更喜歡數(shù)據(jù)庫方法。但為了達(dá)到最大性能,您需要確保帶有用戶名的表字段是否設(shè)置為UNIQUE
數(shù)據(jù)庫將具有包含所有用戶名的索引(如果您使用的是 MySQL、Postgres 等關(guān)系數(shù)據(jù)庫)
另外,關(guān)于功能的幾句話file_exists()
。根據(jù)文檔,它會(huì)緩存結(jié)果以加快工作速度,但沒有人知道下次會(huì)注冊(cè)什么用戶名,因此 DB 無論如何都更好。
- 3 回答
- 0 關(guān)注
- 252 瀏覽
添加回答
舉報(bào)