亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查文件夾是否存在或檢查數據庫中的用戶名,哪個更快更好?

檢查文件夾是否存在或檢查數據庫中的用戶名,哪個更快更好?

PHP
寶慕林4294392 2023-11-03 21:26:21
每當用戶注冊時,都會為每個用戶創建一個文件夾(基于其清理/驗證的用戶名)。我想知道哪個更好更快地檢查用戶是否存在<?php if( file_exists($user_folder) ){ echo 'Username already exist. Choose another one';}?>或檢查數據庫以檢查用戶名是否存在?
查看完整描述

3 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

使用數據庫方法(最好且安全)而不是文件夾搜索。因此,如果您沒有添加index用戶,請添加索引以實現最快搜索 -
ALTER TABLE table_name ADD INDEX index_name (column);

編輯 :

用例 -

  • 如果您將用戶名存儲為文本,并將用戶的個人資料圖片存儲在BLOB同一個表中,則必須SELECT username使用SELECT *.


查看完整回答
反對 回復 2023-11-03
?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

我認為這取決于您擁有的數據數據庫設計。但是如果你在用戶名上使用索引(唯一),數據庫會更快。這一切都與搜索算法有關。

假設您有1,000,000 個用戶。當你檢查文件夾時,它會一一檢查,但如果你使用數據庫檢查,它會通過用戶名直接檢查數據。因為數據庫搜索算法非常先進。


查看完整回答
反對 回復 2023-11-03
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

訪問文件系統是最慢的事情。另一方面,數據庫可能將其索引存儲在 RAM 中,訪問速度要快得多。所以我更喜歡數據庫方法。但為了達到最大性能,您需要確保帶有用戶名的表字段是否設置為UNIQUE數據庫將具有包含所有用戶名的索引(如果您使用的是 MySQL、Postgres 等關系數據庫)

另外,關于功能的幾句話file_exists()。根據文檔,它會緩存結果以加快工作速度,但沒有人知道下次會注冊什么用戶名,因此 DB 無論如何都更好。


查看完整回答
反對 回復 2023-11-03
  • 3 回答
  • 0 關注
  • 256 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號