View Full Version : کندی سرعت به هنگام اضافه کردن رکورد
S_VB.max
یک شنبه 05 مهر 1388, 11:21 صبح
سلام
من در sql server 2000 جدولی دارم که یکی از فیلدهاش از نوع image هست
مشکل من اینجاست که هر چه تعداد رکوردهای این جدول زیادتر شود سرعت اضافه کردن رکورد به جدول هم کمتر می شود به صورتی که وقتی تعداد رکوردها از هزار تا بیشتر می شود می بایست چند دقیقه ای صبر کرد تا دستور insert اجرا شود
لطفا راهنمایی کنید برای رفع این مشکل باید چی کار کرد؟
S_VB.max
دوشنبه 06 مهر 1388, 09:45 صبح
کسی نیست به من جواب بده؟ لطفا راهنمایی کنید برای این مشکل باید چکار کنم؟
S_VB.max
سه شنبه 07 مهر 1388, 08:11 صبح
آقایون خانوما من هنوز منتظر جواب هستم لطفا اگر چیزی در این مورد می دونید ممنون میشم راهنمایی کنید
حمیدرضاصادقیان
سه شنبه 07 مهر 1388, 11:18 صبح
سلام.شما ابتدا کدی که برای اضافه نوشتید اینجا قرار بدید با ساختار جدول تا راحتتر بشه راهنمایی کرد.
S_VB.max
چهارشنبه 08 مهر 1388, 09:01 صبح
این ساختار جدول :
Cod char(15)
Daste char(3)
Noe char(6)
Page int
NameParvandeh nvarchar(50)
Pic image
IDUser int
Tozih nvarchar(1500)
AddDate char(10)
Mahremane bit
اینم کدی که استفاده می کنم:
Private Sub SaveAll()
GetRecord Rec, "SELECT isnull(max(Page),0) as jam FROM " & NameTBL & " where Cod='" & Trim(Text1.Text) & "'"
Dim Page As Integer
If Rec.RecordCount > 0 Then Page = Rec("jam")
GetRecordSet Rec, "SELECT * FROM " & NameTBL
For i = 0 To File2.ListCount - 1
Rec.AddNew
Rec("cod") = Trim(Text1.Text)
Rec("Daste") = "999"
Rec("Noe") = "0": Page = Page + 1
Rec("Page") = Page
Rec("NameParvandeh") = NamParvandeh.Text
Rec("AddDate") = TarikhShamsi(, True)
Rec("IDUser") = CurrentUser
Rec("Tozih") = Tozih1(i)
Rec("Mahremane") = Mahram1(i)
SaveImageToDB Rec, TempPath & File2.List(i)
Rec.Update
DoEvents
Next i
End Sub
Public Sub SaveImageToDB(rs As ADODB.Recordset, imageFile As String)
Dim mstream As New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile imageFile
rs.Fields("pic").Value = mstream.Read
mstream.Close
End Sub
حمیدرضاصادقیان
شنبه 11 مهر 1388, 13:35 عصر
سلام.این خط دوم رو برای چی نوشتید؟ چرا همه فیلدهارو انتخاب میکنید؟دلیلش چیه؟
Delphi&Kylix_2939
دوشنبه 13 مهر 1388, 14:28 عصر
یک از دلایل رایج اینه که حجم فایل Image شما بالاست باید مقدار DPI و بقیه مشخصات فایل رو کنترل کنید بعد اضافه کنید این می تونه یه دلیل مهمش باشه
In_Chan_Nafar
سه شنبه 14 مهر 1388, 09:28 صبح
دوست عزيز اگر SQL شما نسخه 2005 است فيلد imageخود را به varbinary(max) تبديل كنيد و اگر 2008 است از نوع داده FileStreamاستفاده كنيد
اما در هر حال براي ذخيره داده هاي باينري از يك file Group جداگانه استفاده كنيد و فييلد باينري خود را به اين FileGroupنسبت دهيد همنين مي توانيد براي بالا بردن سرعت علاوه بر استفاده از هاردهاي پر سرعت File Groupمورد نظر خود را در يك ديسك جداگانه قرار دهيد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.