2020/07/10
1.資料庫連線池設定的越大,效能越高,吞吐量越大?
否, 能"同時"執行的連線與系統核心數相關, 這裡有個公式能應用於大多數資料庫產品,連線數 = ((核心數 * 2) + 有效磁碟數)
併發增加時,連線池會不斷的自動建立新的連線滿足呼叫,直到達到連線池的最大數目;當連線池連線減少甚至沒有時,連線池自動關閉一些連線,保持最小數目。
使用druid等連線池時,需要配置自動檢測是否有效連線,避免使用時獲取到無效的連線而報錯
2.sql語句小優化
技巧1 比較運算子能用 「=」就不用「<>」
「=」增加了索引的使用機率。
技巧2 明知只有一條查詢結果,那請使用 「limit 1」
「limit 1」可以避免全表掃瞄,找到對應結果就不會再繼續掃瞄了。
技巧3 為列選擇合適的資料型別
能用tinyint就不用smallint,能用smallint就不用int,道理***,磁碟和記憶體消耗越小越好嘛。
技巧4 將大的delete,update or insert 查詢變成多個小查詢
能寫乙個幾十行、幾百行的sql語句是不是顯得逼格很高?然而,為了達到更好的效能以及更好的資料控制,你可以將他們變成多個小查詢。
技巧5 使用union all 代替 union,如果結果集允許重複的話
因為 union all 不去重,效率高於 union。
技巧6 為獲得相同結果集的多次執行,請保持sql語句前後一致
這樣做的目的是為了充分利用查詢緩衝。
技巧7 盡量避免使用 「select *」
如果不查詢表中所有的列,盡量避免使用 select *,因為它會進行全表掃瞄,不能有效利用索引,增大了資料庫伺服器的負擔,以及它與應用程式客戶端之間的網路io開銷。
技巧8 where 子句裡面的列盡量被索引
只是「盡量」哦,並不是說所有的列。因地制宜,根據實際情況進行調整,因為有時索引太多也會降低效能。
技巧9 join 子句裡面的列盡量被索引
同樣只是「盡量」哦,並不是說所有的列。
技巧10 order by 的列盡量被索引
order by的列如果被索引,效能也會更好。
技巧11 使用 limit 實現分頁邏輯
不僅提高了效能,同時減少了不必要的資料庫和應用間的網路傳輸。
技巧12 使用 explain 關鍵字去檢視執行計畫
explain 可以檢查索引使用情況以及掃瞄的行
實習日記Day 01
學會了用putty遠端連線 學會了用vmware開啟exsi然後在開啟我的虛擬機器 用xshell把windows中的jar包傳到windows中 學會了幾個linux新命令 知道了在linux裡不能在根目錄下裝東西 在產品方面好像懂了個大概我們公司的產品就是用來做資料備份和恢復的。我所在的研發小組...
Mysql學習日記day01
1.進入 mysql,在命令列中輸入 mysql uroot p 其中 表示密碼 2.檢視 mysql 中有哪些個資料庫 show databases 3.使用乙個資料庫 use 資料庫名稱 4.新建乙個資料庫 create database 資料庫名 5.檢視指定的資料庫中有哪些資料表 show ...
春招準備日記day01
寫本日記的目的 1.為了讓自己每個月的一段時間內有固定的事做,不用幹什麼不知道。3.總結每日得失,第二天改正,每日一篇更新到找到實習。2017 10 16 2017 10 31 為完成以上計畫順便學 組合語言 王爽第二版,x86從實模式的保護模式 計畫一天一章,昨晚習題和實驗 並順便完成2018天勤...