beerfroth (العمل الأصلي)
قمت بكتابة سجل زوار بسيط باستخدام SQL Server و Asp. ومن خلال المحاولات المستمرة، اكتشفت أن هناك بعض الاختلافات في طرق التنفيذ والوقت عند عرض الرسائل في الصفحات.
دعونا نلقي نظرة على المقارنة الزمنية لعدة طرق من خلال المقارنة.
أولاً، استخدم الإجراءات المخزنة لترحيل الصفحات. وينقسم هذا الموقف إلى طريقتين:
الأول هو استخدام كائن الأمر، كما يلي:
Set Cmd=server.CreateObject("Adodb.Command").
Cmd.ActiveConnection=conn
Cmd.CommandText = "ycuu_gb_getmsg"
Cmd.CommandType=4'adCmdStoredProc
cmd.prepared=صحيح'
تعيين المعلمة=Cmd.CreateParameter("@iPageNo"،adInteger,1,2,Page)
Cmd.Parameters.Append المعلمة
تعيين المعلمة=Cmd.CreateParameter("@iPageSize"،adInteger,1,2,PageSizeConst)
Cmd.Parameters.Append المعلمة
تعيين rs=Cmd.execute
الطريقة الثانية هي التنفيذ مباشرة باستخدام طريقة التنفيذ لكائن الاتصال، كما يلي:
set rs=conn.execute ("execute ycuu_gb_getmsg "&page&"، "&pagesizeConst)
ثانيًا، لا تستخدم الإجراءات المخزنة، استخدم وظيفة ADODB.RecordSet للترحيل مباشرة، الكود المحدد هو كما يلي:
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "اختر * من ترتيب دفتر الزوار حسب التاريخ والوقت"
rs.open SQL، كون، 1،1
rs.pagesize = 150'عدد الرسائل المعروضة في كل صفحة،
الإجمالي = rs.RecordCount
mypagesize = rs.pagesize
rs.absolutepage = page
لكي أعرض السرعة بشكل أكثر وضوحًا، قمت بزيادة عدد الرسائل المعروضة في كل صفحة إلى 150 (في الواقع، بالطبع لن أضع مثل هذه القيمة الكبيرة). أما بالنسبة لتكوين جهازي، فسوف أحذفه لأنه مخصص لمقارنة السرعة بشكل أساسي.
وتبين أن أوقات التنفيذ هي كما يلي:
النوع الأول: مستقر بين 0.1953125 ثانية و0.2109375 ثانية، متوسط القيمة تقريباً: 0.20 ثانية
النوع الثاني: مستقر بين 0.1716875 ثانية و0.1857 ثانية، متوسط القيمة تقريباً: 0.177
النوع الثالثمن الثواني
: مستقر بين 0.4375 ثانية و 0.4632 ثانية، متوسط القيمة حوالي: 0.45 ثانية
ومع ذلك، عندما يكون عدد السجلات المقروءة 20، تكون النتائج كما يلي:
وتبين أن أوقات التنفيذ هي كما يلي:
النوع الأول: مستقر بين .0390625 ثانية و.0546875 ثانية، متوسط القيمة حوالي: 0.045 ثانية
النوع الثاني: مستقر بين 0.046875 ثانية و.0546875 ثانية، متوسط القيمة حوالي: 0.045
ثانيةحوالي نعم: 0.050 ثانية:
النوع الثالث:
مستقر بين 0.09375 ثانية و0.1015625 ثانية، ويبلغ متوسط القيمة حوالي: 0.97 ثانية
أمر. تنفيذ.
يبدو أن طريقة الاتصال السابقة أبسط.
في الوقت نفسه، يمكن أن نرى هنا أن سرعة إجراء الترحيل المخزن هي بالفعل أسرع بكثير من سرعة الترحيل في مجموعة السجلات.
ملحوظة: هذه هي المرة الأولى التي أنشر فيها مقالًا، واو، أجد أنه من الصعب جدًا كتابة مقال جيد، وسأعمل بجد في المستقبل. آمل أن يسامحني الجميع على كتابتي السيئة هذه المرة. بالمناسبة، أريد أيضًا أن أسألكم أيها الأبطال أي من الطريقتين conn.execute وcommand.execute أفضل، هاها، لأن كل ما وجدته على الإنترنت هو الطريقة الأخيرة لتنفيذ الإجراءات المخزنة. لا أعرف لماذا لا أستخدم الطريقة البسيطة كما كان من قبل.