沒(méi)有用到索引或者就是內(nèi)存小了,因?yàn)闆](méi)有備份運(yùn)行時(shí)有的sql丟失了。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供神木網(wǎng)站建設(shè)、神木做網(wǎng)站、神木網(wǎng)站設(shè)計(jì)、神木網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、神木企業(yè)網(wǎng)站模板建站服務(wù),10余年神木做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
看看數(shù)據(jù)庫(kù)內(nèi)存設(shè)置是否比較小,數(shù)據(jù)庫(kù)表是否建立合理的索引。
因?yàn)橹鳈C(jī)長(zhǎng)期在工作.數(shù)據(jù)會(huì)一上在增多..對(duì)于內(nèi)存還有CPU來(lái)說(shuō)不是所有數(shù)據(jù)都可以一次性的完全處理好。就會(huì)有一些"尾數(shù)"包括記錄,然而越來(lái)越多,會(huì)讓主機(jī)運(yùn)行速度變慢。如果用好點(diǎn)的專用的服務(wù)器硬盤,內(nèi)存會(huì)讓主機(jī)更長(zhǎng)時(shí)間的不用重啟。所以SQL還是要用高一點(diǎn)的配置。
什么數(shù)據(jù)庫(kù),還有吧執(zhí)行計(jì)劃貼上來(lái),我覺(jué)得很有可能增加索引
首先看看這張表有哪些索引,然后對(duì)比這個(gè)SQL需要使用哪些索引,然后看執(zhí)行計(jì)劃是否真的使用了索引。
其次分析這個(gè)SQL中的每個(gè)查詢子句,分析哪個(gè)子句比如patientid in('001351435800'),能篩選出的記錄數(shù)最少(因?yàn)椴橐粡埍碇荒苁褂靡粋€(gè)索引),可以考慮在這個(gè)條件對(duì)應(yīng)的列上創(chuàng)建索引。
還有就是防止隱士轉(zhuǎn)化,如您說(shuō)的把最后plantime那兩個(gè)條件去掉就挺快,可能是plantime是datetime類型,但是和'2014/07/04 00:00:00'比較,則會(huì)自動(dòng)轉(zhuǎn)換為字符串型,建議吧'2014/07/04 00:00:00'轉(zhuǎn)化成datetime類型,然后與plantime比較。
首先應(yīng)該確定是誰(shuí)慢的,往往是程序處理方面的問(wèn)題而不是數(shù)據(jù)庫(kù)的問(wèn)題。
程序方面應(yīng)該盡可能的減少數(shù)據(jù)查詢返回的內(nèi)容,減少IO壓力,磁盤IO和網(wǎng)絡(luò)IO是非常非常慢的。比如可以查詢返回ID,然后再根據(jù)ID一條一條的查詢具體內(nèi)容,看似慢了,在數(shù)據(jù)量大的時(shí)候快很多
對(duì)于數(shù)據(jù)可以參照下面幾點(diǎn)
1、優(yōu)化SQL語(yǔ)句,SQL語(yǔ)句對(duì)查詢速度影響最大的
2、對(duì)于經(jīng)常查詢的字段作索引。但是這樣會(huì)增加修改時(shí)的壓力
4、優(yōu)化SQLServer,比如給其分配固定的內(nèi)存,預(yù)先分配查詢內(nèi)存,調(diào)整CPU使用率等。SQL Server 可以占用幾乎所有Windows的內(nèi)存,但是申請(qǐng)內(nèi)存開(kāi)銷很大。因此可以設(shè)定其使用固定大小內(nèi)存,比如啟動(dòng)就分配1G以上內(nèi)存。
5、優(yōu)化硬件資源,比如使用更高的服務(wù)器或者硬盤,獨(dú)立安排數(shù)據(jù)庫(kù)的數(shù)據(jù)文件和索引文件,將數(shù)據(jù)文件分布于不同的物理硬盤上等等
6、考慮使用分布數(shù)據(jù)庫(kù)或者對(duì)大表進(jìn)行拆分
使用Transact-SQL。1.連接到您要還原數(shù)據(jù)庫(kù)的服務(wù)器實(shí)例。2.執(zhí)行使用 NORECOVERY 選項(xiàng)的 RESTORE DATABASE 語(yǔ)句。如果部分還原順序不包括任何 FILESTREAM 文件組,則不支持時(shí)間點(diǎn)還原。 可以強(qiáng)制該還原順序以繼續(xù)執(zhí)行操作。 但在 RESTORE 語(yǔ)句中省略的 FILESTREAM 文件組將永遠(yuǎn)無(wú)法還原。 若要強(qiáng)制執(zhí)行時(shí)點(diǎn)還 原,請(qǐng)指定 CONTINUE_AFTER_ERROR 選項(xiàng)以及 STOPAT、STOPATMARK 或 STOPBEFOREMARK 選項(xiàng),還必須在隨后的 RESTORE LOG 語(yǔ)句中指定后面的三個(gè)選項(xiàng)。 如果指定 CONTINUE_AFTER_ERROR,則部分還原順序?qū)⒊晒Γ?FILESTREAM 文件組將不可恢復(fù)。3.還原上次差異數(shù)據(jù)庫(kù)備份(如果有),而不恢復(fù)數(shù)據(jù)庫(kù) (RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY)。4.應(yīng)用每個(gè)事務(wù)日志備份中相同的順序在其中創(chuàng)建了它們,指定想要停止還原日志的時(shí)間 (RESTORE DATABASE database_name FROM WITH STOPAT = time , 恢復(fù))。