A. 如何解決頻繁查詢資料庫
個人認為,如果只是對資料庫進行頻繁的查詢,那麼最還是為資料庫建立索引表,可以減少系統開銷,然後就是建立分區,把數據進行區分,這樣可以快速定位。
B. 如果有對資料庫的頻繁操作,資料庫連接是否不要頻繁
如果有對資料庫的頻繁操作,資料庫連接是否不要頻繁
具體需要看應用場景中使用的資料庫操作是否頻繁,如果讀寫查詢操作比較頻繁的話,建議使用長連接,不用頻繁關閉資料庫鏈接;但是最後操作完成後,還是需要關閉數據..
C. 頻繁的訪問資料庫,sqlconnection可以一直open不close嗎
不能。最好每次close,而且最好的方式是using語句(C#)。因為資料庫連接是非託管資源,如果你不關閉有可能影響其他人使用,或者造成資料庫不穩定。另,資料庫本身有連接池一類的技術來實現較高性能,所以不需要你再在客戶端做什麼處理。
D. 頻繁查詢mysql資料庫導致崩潰
你換一台好的伺服器就行了,最好是能掛中型ERP系統資料庫那種。
E. 頻繁訪問資料庫的大型項目選擇oracle還是pgsql
因為Oracle是作為關系型資料庫里屬於超大型的資料庫(另一個是IBM的DB2),數據的吞吐量大,還可以跨操作系統運行。並且Oracle在安全性方面有自己的一套嚴格的許可權控制流程,給我們的數據提供了安全的保障,目前大型IT公司基本上都是使用Oracle和DB2來保存數據。
F. 需要頻繁訪問資料庫的網頁怎麼處理
預生成靜態頁面或者使用緩存(內存資料庫/nosql)
靜態頁面是根據業務來確定是否合適使用,例如博客網站,會對文章進行生產靜態html,固定時間更新(例如每天重新生成一次),這種內容修改幾率比較小的比較適合,可以有效的避免每次獲取文章內容都要交互資料庫,直接訪問對應靜態頁面(相關技術可以查看freemarker等)
緩存是針對讀取比較頻繁,且數據不是很大的情況。nosql類似,去掉了資料庫比較復雜的強制關系(例如主外鍵等),只是單純的存儲讀取數據,具體數據/業務邏輯再程序中去具體控制,可以極大的加快訪問速度,例如(redis,mongodb)
具體可以搜索nosql或者key-value 資料庫了解。
G. 頻繁查詢資料庫,怎麼保證整個系統的性能
這個有很多可以說的了.以下全部手打by lcg1986:
資料庫層面優化
從資料庫本身來優化,優化SQL語句,建立適當的索引.盡量讓查詢條件命中索引,避免全表掃描.
精簡查詢語句,使用select 欄位,避免使用select *.
資料庫使用主備機或者集群模式,進行讀寫分離.
對數據進行分庫分表
系統應用層面優化
系統使用連接池連接資料庫,避免頻繁的建立連接,釋放連接的IO開銷.
使用緩存,根據業務場景對數據進行劃分,盡量將基本不會發生改變的數據緩存下來,查詢時優先查詢緩存,減少對資料庫的訪問.
對服務進行降級功能設計,在並發大到資料庫實在無法處理的情況,對造成數據擁堵的服務進行降級.
支持數據的讀寫分離.讀請求和寫請求分別訪問不同的資料庫.
支持分庫分表,或引入資料庫中間件,如Mycat.
硬體方面優化
盡量使用SSD磁碟類型的資料庫伺服器,相比傳統機械硬碟類型的伺服器,具有更高的IO吞吐能力.
如果可能,盡量保證系統與資料庫,資料庫各個機器在同一區域內.避免如系統服務在北京,資料庫伺服器在上海的情況,減少因為網路環境,網路帶寬等因素帶來的影響