⑴ 請問電腦裝上資料庫後,運行速度很慢是什麼原因
第一,檢查sql資料庫的日誌文件是否過大
第二,檢查SQL表中的記錄是否過多
第三,整理一下伺服器硬碟的碎片
第四,檢查ASP程序代碼,如果沒有上述問題,一般問題出在ASP代碼寫的不夠好
第五,可以將資料庫,ASP程序移到差不多的另一台伺服器上測試一下
⑵ 為什麼我的MSSQl 資料庫 打開很慢呢
多寫一豐存取過程,代碼調用這些存取過程速度會變得很快了。我以前剛了解數據時候也是像你這樣的情況。
⑶ mysql資料庫突然變慢 資料庫變慢是什麼原因
MySQL 在崩潰恢復時,會遍歷打開所有 ibd 文件的 header page 驗證數據字典的准確性,如果 MySQL 中包含了大量表,這個校驗過程就會比較耗時。 MySQL 下崩潰恢復確實和表數量有關,表總數越大,崩潰恢復時間越長。另外磁碟 IOPS 也會影響崩潰恢復時間,像這里開發庫的 HDD IOPS 較低,因此面對大量的表空間,校驗速度就非常緩慢。另外一個發現,MySQL 8 下正常啟用時居然也會進行表空間校驗,而故障恢復時則會額外再進行一次表空間校驗,等於校驗了 2 遍。不過 MySQL 8.0 里多了一個特性,即表數量超過 5W 時,會啟用多線程掃描,加快表空間校驗過程。
如何跳過校驗MySQL 5.7 下有方法可以跳過崩潰恢復時的表空間校驗過程嘛?查閱了資料,方法主要有兩種:
1. 配置 innodb_force_recovery可以使 srv_force_recovery != 0 ,那麼 validate = false,即可以跳過表空間校驗。實際測試的時候設置 innodb_force_recovery =1,也就是強制恢復跳過壞頁,就可以跳過校驗,然後重啟就是正常啟動了。通過這種臨時方式可以避免崩潰恢復後非常耗時的表空間校驗過程,快速啟動 MySQL,個人目前暫時未發現有什麼隱患。2. 使用共享表空間替代獨立表空間這樣就不需要打開 N 個 ibd 文件了,只需要打開一個 ibdata 文件即可,大大節省了校驗時間。自從聽了姜老師講過使用共享表空間替代獨立表空間解決 drop 大表時性能抖動的原理後,感覺共享表空間在很多業務環境下,反而更有優勢。
臨時冒出另外一種解決想法,即用 GDB 調試崩潰恢復,通過臨時修改 validate 變數值讓 MySQL 跳過表空間驗證過程,然後讓 MySQL 正常關閉,重新啟動就可以正常啟動了。但是實際測試發現,如果以 debug 模式運行,確實可以臨時修改 validate 變數,跳過表空間驗證過程,但是 debug 模式下代碼運行效率大打折扣,反而耗時更長。而以非 debug 模式運行,則無法修改 validate 變數,想法破滅。
⑷ access 資料庫速度 慢的 問題
問題在於Access 本身
SQL, Sybase, Oracle等大型資料庫管理系統, 不僅在管理大容量資料庫時性能好,速度快. 更重要的是在並發處理有優勢.而並發處理對於資料庫管理系統是最重要的, 你想新浪, 網路等這些網站, 同一時刻有多少人在訪問啊, 資料庫要同時快速響應多個用戶的數據處理請求顯得尤為重要.
你單位的區域網至少應該是百M的吧 , 所以網速應該不是問題; 就伺服器本身的配置而言, 性能也應該滿足了; 在一個客戶端的情況下, 能夠快速的訪問, 表明跟客戶端配置也沒有關系; 所以可以認為, 是由於Access本身對於並發處理的性能低下, 才導致以上問題. 建議你可以裝個SQL Server2005, 用它可以把Access的資料庫轉換為Sql server資料庫, 當然你程序中和資料庫相關的連接, 訪問語句也要改一下.
PS: 你文中所講的"生產管理系統", 可能將來也不止在兩個客戶端上訪問, 當將來客戶端越來越多的時候, 這個問題會更加明顯. 所以建議你及早升級到 SQL Server, 畢竟Access只是個桌面型的資料庫, 並不適合應用在這種場合下. 另外, 個人認為建虛擬盤並不會有太大的性能改善.
⑸ Access資料庫運行的很慢,怎麼能加快
一般來說,access資料庫,如果存的數據量不大的情況下,
同時針對資料庫操作的用戶不多的情況下,速度並不比sql慢!
造成慢的情況!
1:你的程序問題,可以看一下,應該當優化一下,如打開的記錄集,或者是資料庫連接,操作後,及時關閉!
2:針對資料庫進行壓縮一下.操作是工具->壓縮和修復資料庫!
⑹ 訪問資料庫操作很慢,如何優化
這需要根據導致運行速度不高的原因來考慮。
如果是因為資料庫的關系,可以將不經常變化的卻經常需要用到的數據在第一次讀出來的時候保存到內存中,以後就不用再去讀取了。
除此以外就是資料庫連接的優化了,比如做好索引、分頁讀取等。
⑺ 怎麼解決ACCESS資料庫太大造成運行慢的問題
1.時候在使用Access文件的時候,隨著增刪改的不斷的連續,會導致文件越來越大。即使手動刪除或者使用delete語句刪除了大量的數據記錄,會發現文件的大小依然沒有減掉,而且隨著你再往裡寫數據,又會增大。
2.產生這個現象的原因跟Access本身的機制有關,具體也不清楚,好像是有什麼歷史記錄還是什麼存儲碎片。ACCESS資料庫在進行刪除操作後,並不從該資料庫中把數據清除掉,而是刪除其索引相關的東西,雖然顯示不出來,但是那些東西還是在文件中存在的,所以會引起ACCESS資料庫文件越來越大。即使是我們不通過代碼來訪問access文件,而只是通過用戶界面訪問,隨著文件的增大,也會帶來一系列的問題。其症狀包括:對象可能打開得更慢,查詢可能比正常情況下運行的時間更長,各種典型操作通常似乎也需要使用更長時間。更何況如果在網站應用中,採用的是Access作為資料庫的話,這里就有了性能上的問題。文件越來越大,會影響查詢的速度,而且ACCESS是採用獨占方式工作的,也就是說一次只能一個進程打開這個資料庫執行操作,如果是多個用戶的話就要"排隊"了,所以ACCESS資料庫如果變為很大的話,執行一個查詢時間就會變長,而進程"排隊"的等待時間也就會變得很久,專業型的資料庫就不同,可以同時接收多個並發的訪問,可以採用SQL資料庫或其它大型並發數很強的資料庫。
3.但是很多時候我們是需要Access文件,往不同的地方拷貝的,比如說,一個Server上生成了一個Access文件,需要拷貝到另外的Server上,而且Server間如果網速不是很好的話,會需要很長的時間來傳輸這個文件。所以這時候我們希望這個文件在內容不變的前提下,越小越好。所以我們可以去除這個Access的冗餘信息。
4.Office Access本身就有這種功能,我們可以通過菜單找到這個工具,然後單擊這個圖標手動壓縮。
5.執行以下這幾句代碼就可以了。
首先引用C:Program FilesCommon FilesSystemadomsadox.dll,該DLL包含ADOX命名空間;
接著引用C:Program FilesCommon FilesSystemadomsjro.dll,該DLL包含JRO命名空間
注意:如,導入dll不成功,手動把com組件 導入為 .net組件,在用vs.net工具導入
///壓縮修復ACCESS資料庫,mdbPath為資料庫絕對路徑
public void Compact(string mdbPath)
{
if (!File.Exists(mdbPath)) //檢查資料庫是否已存在
{
throw new Exception("目標資料庫不存在,無法壓縮");
}
//聲明臨時資料庫的名稱
string temp = DateTime.Now.Year.ToString();
temp += DateTime.Now.Month.ToString();
temp += DateTime.Now.Day.ToString();
temp += DateTime.Now.Hour.ToString();
temp += DateTime.Now.Minute.ToString();
temp += DateTime.Now.Second.ToString() + ".bak";
temp = mdbPath.Substring(0, mdbPath.LastIndexOf("\") + 1) + temp;
//定義臨時資料庫的連接字元串
string temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp;
//定義目標資料庫的連接字元串
string mdbPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=l1epc2";
//創建一個JetEngineClass對象的實例
JetEngineClass jt = new JetEngineClass();
//使用JetEngineClass對象的CompactDatabase方法壓縮修復資料庫
jt.CompactDatabase(mdbPath2, temp2);
//拷貝臨時資料庫到目標資料庫(覆蓋)
File.Copy(temp, mdbPath, true);
//最後刪除臨時資料庫
File.Delete(temp);
}
⑻ Win10Win8訪問資料庫超級慢
1.關閉家庭組,因為這功能會導致硬碟和CPU處於高負荷狀態
關閉方法:Win+C – 設置 – 更改電腦設置 – 家庭組 – 離開
如果用不到家庭組可以直接把家庭組服務也給關閉了:控制面板 – 管理工具 – 服務 – HomeGroup Listener 和 HomeGroup Provider 禁用
10個Win8優化技巧解決win8速度慢
2.關閉Windows Defender 全盤掃描系統,否則打開文件夾會卡頓。
然後可以排除信任的EXE程序,建議排除explorer.exe(資源管理器進程),如果你不用系統自帶的殺毒軟體,也可以直接關閉它。
Win+X – 控制面板 – Windows Defender – 設置 – 實施保護 -去掉勾 和 管理員 – 啟用 Windows Defender – 去掉勾。
控制面板 – 管理工具 – 服務 - Windows Defender Service 禁用。
10個Win8優化技巧解決win8速度慢
3.用好索引選項,減少硬碟壓力。
控制面板 – 索引選項 – 選中索引項 – 修改 – 取消不想索引的位置。(索引服務對系統性能的影響)
如果習慣用 everything 這款神器來搜索文件,可以關閉索引功能。控制面板 – 管理工具 – 服務 - Windows Search 禁用。
4.關閉磁碟碎片整理計劃
用好磁碟碎片整理可以提高磁碟性能,如果習慣手動整理,可以關閉整理計劃,避免在你工作的時候自動整理,影響性能。
資源管理器,選中磁碟 - 屬性 – 工具 – 對驅動器進行優化和碎片整理 – 優化 – 更改設置 – 取消選擇按計劃運行
10個Win8優化技巧解決win8速度慢
5.設置好Superfetch服務
控制面板 – 管理工具 – 服務 – Superfetch - 啟動類型 – 自動(延遲啟動),可以避免剛啟動好Win8對硬碟的頻繁訪問。
10個Win8優化技巧解決win8速度慢
6.如果覆蓋或者升級安裝Win8,需要清理產生的Windows.old文件夾,騰出C盤空間。
方法1:快捷鍵Win+X - 命令提示符 – 輸入 rd X:windows.old /s (X代表盤符)
方法2(推薦):C盤 – 右鍵 – 屬性 - 磁碟清理 - 選中 以前的 Windows 安裝 復選框 – 確定清理。
7.設置Win8 自動登陸,省去輸入密碼步驟,開機更快
快捷鍵Win+R – 輸入 netplwiz - 取消使用計算機必須輸入用戶名和密碼的選項 – 然後雙擊需要自動登錄的賬戶 – 輸入你的密碼。
8.關閉ipv6
部分網卡驅動開啟 ipv6會導致開機系統未響應,假死。如果你不是ipv6用戶建議關閉,否則就更新網卡驅動試試看。
網路共享中心 – 網路連接 – 乙太網 – 屬性 – 取消 ipv6 。
10個Win8優化技巧解決win8速度慢
9.開啟Hybrid Boot
Win8啟動飛快 。默認是啟動的,如果沒有啟動,可以到控制面板 – 電源選項 – 選擇電源按鈕的功能 – 更改當前不可用的設置 – 關機設置 – 勾上啟用快速啟動。
如果沒有看到這功能,請先開啟休眠:Win+X – 命令提示符 – 輸入 powercfg -h on
10.關閉性能特效
系統屬性 – 高級 - 性能 - 設置 – 關閉淡出淡入效果。打開文件夾,小軟體之類的,唰唰的快!反正Win8都反璞歸真,取消了Aero磨砂效果,不在乎這點特效了,直接關閉吧。