線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1320
推到 Plurk!
推到 Facebook!

請問一個 Table 的 FieldCount 多少以下算合理 ?

尚未結案
fadichen
初階會員


發表:29
回覆:68
積分:29
註冊:2003-09-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-16 16:03:20 IP:61.230.xxx.xxx 未訂閱
請問一個 Table 的 FieldCount 多少以下算合理 ?
shieh2700
高階會員


發表:0
回覆:127
積分:100
註冊:2002-06-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-16 23:32:48 IP:61.216.xxx.xxx 未訂閱
引言: 請問一個 Table 的 FieldCount 多少以下算合理 ?
不知你指的是資料庫功能問題? 還是站在資料結構規劃立場的問題. 若以資料庫功能來看, 每個廠商的資料庫欄位上限都不一樣, 這直接去查說明會比較快. 如是以資料結構規劃的立場來看... 這沒標準答案, 一般只會要求要作到某程度的資料庫正規化, 並不會限制資料表中的欄位個數.
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-16 23:48:04 IP:61.231.xxx.xxx 未訂閱
合不合理超出了專業說法 小弟不瞭解 只在許多資料類型來說只知 paradox支援16欄位 「堅持」從洗馬桶做起 Aric
fadichen
初階會員


發表:29
回覆:68
積分:29
註冊:2003-09-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-17 10:59:31 IP:61.230.xxx.xxx 未訂閱
是後端資料庫(ex: MS-SQL, INTERBASE, FIREBIRD, POSTGRES, etc) 從效能來看,欄位的數目會不會影響...
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-17 13:24:54 IP:63.84.xxx.xxx 未訂閱
您好﹗    從工作的效能來看﹐小弟個人覺得欄位的Count數量影響不會很大﹐就工作中的實際經驗﹐小弟曾在同一資料庫中建立欄位數量差異很大的各個Table(Max: 20 Fields, Min: 2 Fields)﹐程式執行時不會有所明顯差異﹐倒是覺得影響其效能比較大的因素是在于各欄位通過程式碼取得欄位值結果這部分﹐比如說在我們通常會把欄位值計算的程式碼寫在AfterPost事件中﹐此事件中所歷經的計算程式碼越多﹐相對應的就會略減效能﹒    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-17 13:51:49 IP:218.163.xxx.xxx 未訂閱
引言: 是後端資料庫(ex: MS-SQL, INTERBASE, FIREBIRD, POSTGRES, etc) 從效能來看,欄位的數目會不會影響...
fadichen 你好: 個人看法, FieldCount 對速度的影響並不是很大. 但是一筆資料的 RowSize 設計, 對於 Data 的 Fetch 速度是有一些影響的. 至於一筆資料到底多大算合理, 當然是越小越好, 個人認為不要超過 1K bytes. 另外, 適當的運用 Index 是很重要的哦.
tailen
中階會員


發表:82
回覆:109
積分:63
註冊:2002-04-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-17 16:38:21 IP:61.222.xxx.xxx 未訂閱
據小弟了解,row size的影響很大,至於多大才是合理的?依據每個資料庫不同,也可以根據設定來完成! 為何row size會影響資料庫的效能,是因為當從資料庫中讀取資料時,大部分的資料庫系統會一次取一個page的大小(該page稱為資料頁),若是您的row size小於等於page size則,只要一次就可以取得資料,若是大於,則需要兩次or更多,所以開欄位的大小,其實與資料庫的page size有很大的關係,盡量是以page size的整數倍,如此才不會浪費抓取的次數(抓取次數越多則越慢)! 舉例來說:某資料庫的page size=512 bytes,row size=600 bytes, 每次access time = 1ms,則存取該筆資料則需要2*access time = 2ms, 第一次取得512 bytes,第二次卻只取得78bytes,這樣就浪費第二次的access time了! 以上資訊供各位參考,若有誤謬,請協助更正,謝謝。
系統時間:2024-06-27 0:18:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!