日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

阿里Java开发手册——如何优化数据库?

發布時間:2025/3/11 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里Java开发手册——如何优化数据库? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:楊冠寶/高海慧

來自:碼出高效 Java 開發手冊

數據庫作為服務器端最為最為昂貴的資源之一,如果使用不當常常會導致系統卡頓或系統崩潰,那如何來優化數據庫呢?下面來看阿里巴巴《Java開發手冊》給出的優化方案。

1

建立高效且合適的索引

索引誰都可以建,但想要建好又難度極大。因為索引既要有數據特征,又有業務特征,數據量的變化會影響索引的選擇,業務特點不一樣,索引的優化思路也不一樣。通常某個字段平時不用,但是某種場景下命中“索引缺失”的字段會導致查詢瞬間變慢。所以要事先明確業務場景,建立合適的索引。

2

排查連接資源為顯示關閉的情形

要特別注意在 ThreadLocal 或流式計算中使用數據庫連接的地方。

3

合并短的請求

根據 CPU 空間局部性原理,對于相近的數據,CPU 會一起提取到內存中。另外,合并請求也可以有效減少連接的次數。

4

合理拆分多個表join的SQL

若是超過三個表則禁止 join,如果表結構建的不合理,應用邏輯處理不當,業務模型抽象有問題,name 三標 join 的數據量由于笛卡爾積操作會呈現幾何倍數的增加,所以不推薦這樣的做法。另外,對于需要 join 的字段,數據類型應保持絕對一致。多表關聯查詢時,應確保被關聯的字段要有索引。

5

使用臨時表

某種情況下該方法是一種比較好的選擇。曾經遇到一個場景不適用臨時表需要執行 1 個多小時,使用臨時表降低到 2 分鐘以內。因為在不斷的嵌套查詢中,已經無法很好地利用現有的索引提升查詢效率,所以把中間結果保存到臨時表,然后重建索引,再通過臨時表進行后續的數據操作。

6

應用層優化

包括進行數據結構優化、并發多線程改造等。

7

改用其他數據庫

因為不同數據庫針對的業務場景是不同的,比如 Cassandra、MongoDB。


【END】

關注下方二維碼,訂閱更多精彩內容

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的阿里Java开发手册——如何优化数据库?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。