資(zī)訊

精準傳達 • 有效溝通

從品牌網站建設到網絡營銷策劃,從策略到執行的一(yī)站式服務

java基礎問題

來源:公司資(zī)訊 | 2021.08.20

1.數字 A,數字 B,數字 c,第一(yī)次 ABC一(yī)次存入,記錄存入次數;第二次,其後記錄使用次數,要求最長的,使用次數最少的,達到1000次後,将被删除。(隻能使用本地緩存,中(zhōng)間件和數據庫沒有)

1>(無需大(dà)腦解)創建一(yī)個全局性的 map集合,把數字和時間,随時間存入,到1000後進行,時間戳對比,以及相同的次數對比。

2>使用三個全局列表,統計次數各使用次數,最近使用時間,每次使用更新時間,當總和達到1000次後做時間對比和使用次數對比并删除。

(期待後續補充,提供幾個最佳方案)

2. SQL優化

1>查詢優化:建立索引時,應盡量避免全表掃描,首先考慮對 where和 orderby所涉及的列建立索引

2>很多時候用 exists替代 in是個不錯的選擇

3>适當地使用索引,索引可以提高相應 select的效率,同時降低插入和更新的效率,

由于 insert或 update時有可能重新生(shēng)成索引,因此需要仔細考慮如何建立索引,這取決于具體(tǐ)情況。

4>一(yī)張表的索引數目最好不超過6個,如果索引過多,則需要考慮對某些不常用的列建立索引的必要性。

5>盡可能使用 varchar替代 char,因爲首先變長的字段存儲空間較小(xiǎo),從而節省存儲空間,

第二種情況是查詢,很明顯,在相對較小(xiǎo)的字段中(zhōng)搜索效率要高一(yī)些。

6>任何地方都不要使用 select* from t,

将"*"替換爲特定字段列表,而不返回任何不能使用的域

7>合理使用臨時表

8>避免使用遊标,因爲遊标的效率很低,如果遊标操作的數據超過10,000行,那麽應該考慮重新編寫

9>盡量避免大(dà)事務操作,提高系統的并發能力

10>盡量避免返回大(dà)容量的客戶端,如果數據量太大(dà),要考慮相應的需求是否合理。

3.在添加索引之後,如何使索引失效

最左匹配原則,後模糊不會使索引失效。

在 where子句中(zhōng)盡量避免

用!=或<>操作員(yuán),

判斷該字段的值爲空,

用 or連接條件、

還應謹慎使用 in和 not in

使用表達式操作字段、

用功能運算字段、

不對"="左側執行函數、算術運算或其他表達式操作,否則引擎将放(fàng)棄全表掃描以使用索引

結論:

有的是必須踏上的坑,有些是必須去(qù)做的,希望通過分(fēn)享彼此進步,走過這條平凡的路。

————————————————

版權聲明:本文爲CSDN博主「銳rui3g」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/d960704119/article/details/119762282

—— 靈通雲微信公衆号 ——

熱門标簽

上一(yī)條———————

下(xià)一(yī)條———————

十七年 建站經驗

多一(yī)份參考,總有益處

聯系靈通雲,免費(fèi)獲得專屬《策劃方案》及報價

咨詢相關問題或預約面談,可以通過以下(xià)方式與我(wǒ)們聯系

業務熱線:400-688-6062 / 大(dà)客戶專線   南(nán)通:15818561755