{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

如何優化數據庫?

chavesguchavesgu 回答0 收藏1
問題描述:如何提高數據庫的性能?
收藏問題

5條回答

n7then

n7then

回答于2022-06-28 14:45

數據庫優化一般考慮到內存,緩沖區,歸檔等性能方面

評論0 贊同0
  •  加載中...
wuyumin

wuyumin

回答于2022-06-28 14:45

謝邀,在BAT里曾經接手過一個公司級的平臺開發,接手的時候,這個平臺已經上線2年了,但是卻經常收到用戶投訴,說從網頁端來操作頁面的時候,響應實在是太慢了,非常影響用戶體驗。

接手的時候,經理就說了,一定要把用戶反饋的這個事情列為P0級問題,盡快解決。

于是,我馬上開始了分析。經過在日志里打點,得知時間主要消耗在數據庫查詢上。根據我們之前的理論知識,我根本想象不到數據庫能被拖慢到這個地步。問題出現在一張存儲歷史任務的表格實在是太大了,新任務還在以每天百萬級的速度增長,而這張表的體量已經達到了億。這種情況下,就算有索引,在頻繁寫表(創建任務)的間隙去讀表(查任務),其效率也是非常低的。

主從配置

我當時想到的第一個優化方法是配置主從數據庫。主從配置的好處有三點,分別是1)讀寫分離,也有人稱之為負載均衡;2)數據異地備份,還有3)提高數據庫的可用性。當時配置主從的主要目的是希望能夠實現讀寫分離,從而提高數據庫查詢的效率。配置過后,查詢效率確實有一定的提高,但是還遠未達到解決問題的程度。

引入ELASTICSEARCH

在查閱了很多信息之后,我看到了很多人推薦使用elastic search作為持久層。

它是一個輕量型的存儲工具,雖然不是關系型數據庫,也不支持基本SQL語句,但是它具有能夠動態多節點部署,節點掉線后不影響全局數據的優點,最重要的一點,在面對海量數據查詢時,它的表現要比MySQL優秀許多。根據我們的實際測試,一張幾千萬的表格,如果存儲在MySQL中,利用非索引字段查詢,可能消耗數秒到數十秒,但是同樣的數據存儲在ElasticSearch中,只需要毫秒級別就能查詢到結果。簡直就是為我們遇到的問題量身定做的解決方案。


綜上,我們從兩個方面提供了優化數據庫的思路,分別是配置主從與引入ElasticSearch。

以上是我的淺見,歡迎各位在下方評論區點贊留言互動。

我是蘇蘇思量,來自BAT的java開發程序員,每天分享科技類見聞,歡迎關注我,與我共同進步。

評論0 贊同0
  •  加載中...
XUI

XUI

回答于2022-06-28 14:45

1.最重要的調整數據表的架構,以提升效率。通過架構調整,減少關聯查詢,減少同步讀寫。用冗余字段,減少關聯。

2 大小字段分離。尤其是大字段,最好獨立表存儲(當然是數據量極為龐大時)

3.使用鏈接(join)來代替子查詢,速度將會快很多的。

4.合理索引!十分重要,必要時分表分庫。好的索引,使查詢提升1000倍,不是問題。

評論0 贊同0
  •  加載中...
gggggggbong

gggggggbong

回答于2022-06-28 14:45

直接多PC SERVER搭建機群,把大數據庫拆分吧。有錢你就直接上小型機+Oracle數據庫

主要是多大的數據庫?16臺夠了吧?MySQL

評論0 贊同0
  •  加載中...
ralap

ralap

回答于2022-06-28 14:45

針對數據庫優化基本在有以下的步驟:

一、硬件的優化

1)最粗放的方式就是提升硬件的配置,可以從CPU,內存和磁盤方面給予回答。

二、DBA的優化

1)最常用的方法是索引、索引、索引,加個索引可以將CPU的100%一下子降到10%左右

2)和開發溝通看看表里面的數據是否可以搬移或是刪除

三、開發的優化

1)添加緩存,減少對數據庫的訪問,變相的減少數據庫的壓力

2)添加冗余字段,減少跨表查詢,采用反三范式的方法去設計表

3)SQL語名要規范,不允許用seelct * ,where條件中不允許用函數、like,not in,<>等;

四、架構的優化

1)數據庫設計要規范,避免存在大表,如表數據量過大,可以拆分成多個表

2)減少跨表查詢,最好使用單表去查詢數據

3)設計數據庫的時候要采用水平或是垂直拆分的方式,將數據打散。

注:有時候數據庫優化不是單靠一個點去完成的,如果想要治本的話,得從多方面去入手。

評論0 贊同0
  •  加載中...

相關問題

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<