等深層機制應用和研究,只是些膚淺應用和建議)
關於資料處理相關的優化 一、
sqldataread
和dataset
的選擇
sqldataread優點:讀取資料非常快。如果對返回的資料不需做大量處理的情況下,建議使用sqldatareader,其效能要比datset好很多。缺點:直到資料讀完才可close掉於資料庫的連線
(sqldatareader讀資料是快速向前的。sqldatareader 類提供了一種讀取從 sql server 資料庫檢索的只進資料流的方法。它使用 sql server 的本機網路資料傳輸格式從資料庫連線直接讀取資料。datareader需及時顯式的close。可及時的釋放對資料的連線。)
dataset是把資料讀出,快取在記憶體中。缺點:對記憶體的占用較高。如果對返回的資料需做大量的處理用dataset比較好些可以減少對資料庫的連線操作。優點:只需連線一次就可close於資料庫的連線
*一般情況下
,讀取大量資料
,對返回資料不做大量處理用
sqldatareader.
對返回資料大量處理用
datset
比較合適.對
sqldatareader
和dataset
的選擇取決於程式功能的實現。 二、
executenonquery和executescalar
對資料的更新不需要返回結果集,建議使用
executenonquery。由於不返回結果集可省掉網路資料傳輸。它僅僅返回受影響的行數。如果只需更新資料用executenonquery效能的開銷比較小。
executescalar它只返回結果集中第一行的第一列。使用 executescalar 方法從資料庫中檢索單個值(例如id號)。與使用 executereader 方法, 返回的資料執行生成單個值所需的操作相比,此操作需要的**較少。
*只需更新資料用executenonquery.單個值的查詢使用executescalar
資料繫結的選擇
三、 資料的繫結databinder
一般的繫結方法<%# databinder.eval(container.dataitem, "欄位名") %>
用databinder.eval 繫結不必關心資料**(dataread或dataset)。不必關心資料的型別eval會把這個資料物件轉換為乙個字串。在底層繫結做了很多任務作,使用了反射效能。正因為使用方便了,但卻影響了資料效能。
來看下<%# databinder.eval(container.dataitem, "欄位名") %>。當於dataset繫結時,dataitem其實式乙個datarowview(如果繫結的是乙個資料讀取器(dataread)它就是乙個idatarecord。)因此直接轉換成datarowview的話,將會給效能帶來很大提公升。.
<%# ctype(container.dataitem,datarowview).row("欄位名") %>
*對資料的繫結建議使用
<%# ctype(container.dataitem,datarowview).row("
欄位名") %>
。資料量大的時候可提高幾百倍的速度。使用時注意
2方面:
1.需在頁面新增
<%@ import namespace="system.data"%>.2.
注意欄位名的大小寫(要
特別注意
)。如果和查詢的不一致,在某些情況下會導致比
<%# databinder.eval(container.dataitem, "
欄位名") %>
還要慢。如果想進一步提高速度,可採用
<%# ctype(container.dataitem,datarowview).row(0) %>
的方法。不過其可讀性不高。
以上的是vb.net的寫法。在c#中:<@% ((datarowview)container.dataitem)["欄位名"] %>
資料處理相關
資料集分為特徵值和目標值 由特徵值得到目標值 對特徵值的處理為特徵工程 1 缺失值處理 2 重複值的去重 特徵工程的意義 提高對未知資料的 字典特徵資料抽取 對字串轉成數字的,類 sklearn.feature extraction.dictvectorizer 文字特徵抽取 類 sklearn.f...
python資料處理相關
1.enumerate sequence,start 0 函式 列舉函式,傳入乙個序列或迭代物件,列舉輸出乙個序號物件。可用於對序列資料進行編號。2.字串的split 方法和strip 方法 同屬字串物件的方法。split 方法用於指定分割字元並返回乙個字串列表。strip 方法用於去除掉首位的指定...
資料處理 pandas資料處理優化方法小結
資料處理時使用最多的就是pandas庫,pandas在資料處理方面很強大,整合了資料處理和資料視覺化。pandas的視覺化使用的是matplotlib。回到主題 計算資料的某個欄位的所有值,對其欄位所有值進行運算 處理的字段資料為時間戳,需要計算該時間戳距離現在的時間,單位為天。一般方法 使用現在的...