EDNA實時資料庫兩種取歷史資料值的方式

2021-08-22 15:29:47 字數 1005 閱讀 3677

1. dnagetnexthistutc函式:根據游標乙個乙個值取

int i = ezdnaapinet.ezdnaapi.history.dnagethistdirectrawutc(szserver,szpoint, start, end, ref key);  

if (i == 0)

if (pdvalue<= dlowlimit)

if (i1 == 0)

s++;}}

//記住結束時間

ezdnaapinet.ezdnaapi.translator.ucttostringtime(pttime, sztime, 30);

send = sztime.tostring();

long l2 = datetime.now.ticks / 10000 - l1;

2. dnagetnexthistblocksmall函式:一次讀取批量資料

int i = ezdnaapinet.ezdnaapi.history.dnagethistdirectrawutc(szserver,szpoint, start, end, ref key);

stringbuilder sztime = new stringbuilder(30);

double pszvaluelist = new double[1000000];

int psztimelist = new int[1000000];

ushort pszstatuslist = new ushort[1000000];

string sstart = "";

string eend = "";

if (i == 0)

else if (j == pncount-1)

s++;}}

}while (0 == i1);      

long l2 = datetime.now.ticks / 10000 - l1;

方式2比方式1效能有10倍的提高。當然,歷史資料查詢與磁碟io效能有很大關係。

EDNA實時資料庫兩種取歷史資料值的方式

1.dnagetnexthistutc函式 根據游標乙個乙個值取 int i ezdnaapinet.ezdnaapi.history.dnagethistdirectrawutc szserver,szpoint,start,end,ref key if i 0 if pdvalue dlowli...

EDNA實時資料庫兩種取歷史資料值的方式

1.dnagetnexthistutc函式 根據游標乙個乙個值取 int i ezdnaapinet.ezdnaapi.history.dnagethistdirectrawutc szserver,szpoint,start,end,ref key if i 0 if pdvalue dlowli...

實時資料庫歷史資料容量的計算方法

經常有客戶問,使用你們的實時資料庫,該如何計算存貯一年歷史資料所需要的磁碟空間?讓我們以乙個具體例子進行說明吧 乙個專案中,總共有 1萬個模擬量測點,這些測點平均每秒變化一次,每次變化均要儲存,存貯一年歷史資料,需要多少磁碟空間?為了很好地說明這個問題,我們先來分析一下,如果採用關聯式資料庫來儲存這...