1 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
滾動(dòng)瀏覽可能有數(shù)千條記錄
編寫查詢,可能是臨時(shí)的,以過濾出更少的記錄。如果管理員需要滾動(dòng)瀏覽超過幾十條記錄,那么你(和數(shù)據(jù)庫)就讓他失望了。
分頁——不要使用OFFSET
; “記住你離開的地方”:http: //mysql.rjweb.org/doc.php/pagination
分區(qū)——否;你還沒有提出一個(gè)它會(huì)受益的案例。你可以簡單地說WHERE name LIKE 'J%'
or WHERE name >= 'P' AND name < 'T'
(for p,q,r,s)并INDEX
name
以;開頭 但我懷疑這是否真的對(duì)管理員有幫助。
“一個(gè)不斷向下鉆取的遞歸函數(shù)”——這就是 BTree 索引已經(jīng)為您做的事情。簡單地做WHERE name > $leftoff ORDER BY name LIMIT 20
。即,LIMIT
用于桶大??;同時(shí)不要打擾預(yù)定義桶邊界。
“潛在內(nèi)存使用”——讓數(shù)據(jù)庫擁有大部分可用內(nèi)存通常更好。
1 表 vs 3 -- 請(qǐng)?jiān)敿?xì)說明這些表中的內(nèi)容。
搜索中
正如其他人所說,使用某種搜索機(jī)制可能是找到所需記錄的最快方法。不要讓管理員滾動(dòng)瀏覽數(shù)千行。
提供一個(gè)表格,其中包含一項(xiàng)或多項(xiàng)內(nèi)容供管理員填寫
完整的用戶名。(問題:拼寫錯(cuò)誤/不知道確切的拼寫)
通配符部分名稱。例子:'段%'; 然后顯示所有以 Dan 開頭的用戶名。
大量的超鏈接列表,每個(gè)用戶一個(gè)。最多可達(dá)幾千個(gè);我會(huì)建議不要這樣做。
用戶的一個(gè)屬性——開始日期、無活動(dòng)等等。然后搜索該屬性。
對(duì)于這些部分情況,拒絕顯示超過100個(gè)用戶名;如果不止于此,請(qǐng)要求管理員提供更多詳細(xì)信息。不要為分頁增加的復(fù)雜性而煩惱。
我已經(jīng)實(shí)施了各種這些和其他機(jī)制?;叵肫饋?,我唯一一次對(duì)幾十個(gè)項(xiàng)目使用分頁是在我需要對(duì)所有項(xiàng)目采取行動(dòng)時(shí)。示例:從旅行中的一千張圖片中挑選一張放入“相冊(cè)”。這包括看每張照片足夠長的時(shí)間來挑選或拒絕每一張。此外,我使用 AJAX 來單擊一次所需的所有操作。
- 1 回答
- 0 關(guān)注
- 123 瀏覽
添加回答
舉報(bào)