مدونة منذر اسامة

العودة   منتديات جريت بلينز العربية Great Plains For Arab > قسم جزيئات وأساسيات برنامج جريت بلينز > تركيب وإعدادات النظام وما يتعلق به توجيهات Installation & Configuration

تركيب وإعدادات النظام وما يتعلق به توجيهات Installation & Configuration الخطوة الأولى للعمل لا بد أن يتم تركيب البرنامج بطريقة صحيحة بدأ من نظام التشغيل ,,,, مرورا بقواعد البيانات وانتهائاً بالبرنامج نفسه ...
ستجد كل ما سبق في هذا المنتدى ان شاء الله

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 16-Jul-2012, 03:38 PM   #1
Monzer Osama
مدير عام منتديات جريت بلينز العربية
افتراضي بعض طرق تحسين أداء و سرعة ال SQL_Server

هذه بعض طرق تحسين أداء و سرعة ال SQL_Server
ينبغي على جميع مطوري قواعد البيانات اتباع هذه النصائح ما أمكن حيث أن الفرق بالأداء - من وجه نظري - سيكون شاسع.

بالنسبة لتصميم الجداول:
1- حاول تبسيط Normalize الجداول لمرتبة التبسيط الثالثة 3NF ما أمكن، وبالتالي ستتجنب تكرار البيانات وعمليات التحديث الشاذة update anomalies وتقليل البيانات المسترجعة بواسطة الاستعلامات (بمعنى آخر تسريعها).
التبسيط سيؤدي لتقليل الأعمدة في الجدول، وبالتالي "حشر" سجلات أكثر في صفحة البيانات الواحدة، مما يعني تقليل عمليات IO المطلوية للوصول للبيانات.
ولكن التبسيط لمرتبة أعلى من الثالثة تكثر عمليات الربط joining بين الجداول (بالذات عند الاستعلام) وبالتالي تقليل الأداء.

*ملاحظة:*
إذا كانت قاعدة البيانات مخصصة للتحليل أكثر من التحديث، فقلل التبسيط، لأن الربط في حالة التبسيط قد يقلل من كفاءة وسرعة تحليل البيانات.

2- إذا كانت قاعدة البيانات تحوي الكثير من البيانات، فقسم البيانات أفقيا partition data horizontally ، مثلا قسم بيانات الجدول لجدولين أحدهما يحوي بيانات السنة الحالية والآخر يحوي البيانات القديمة، مما يحصر البيانات المطلوبة غالبا في السنة الحالية ويقلل كمية البيانات المسترجعة، مما يعني تقليل عمليات IO.

3- حاول تقليل البيانات المسترجعة في الاستعلامات، أو بكلمة أخرى لاتفتح recordsets ضخمة، وذلك بوضع مزيد من الشروط في جزء where من جملة select.

4- إذا كان ممكنا استعمل القيود العلائقية بين البيانات relational constraints بدلا من استعمال الTriggers و الrules و الdefaults، لقابلية الخطأ الكبيرة فيها عندما تستعمل لمحاكاة القيود العلائقية.
أيضا إذا أمكن استعمل القيود العلائقية المتتالية cascading relational constraints بدلا من الtriggers، فعمل حذف متتالي cascading delete أو تحديث متتالي cascading update لايتطلب أكثر من فقرة on delete أو فقرة on update في جزء references من جملة create table أو alter table بدلا من كتابة Trigger مخصص لذلك وقضاء وقت آخر في عمل debugging له.
5- حاول التقليل بقدر الإمكان من وجود الnull values ، لإنها تعني إما القيمة غير موجودة أو غير معروفة، وتسبب أخطاء في حال استعمال دوال حسابية.

6- حاول تضييق أحجام حقول الجدول، ليقلل حجم الحقل، وبالتالي يقلل حجم الجدول، مما يعني تسريع الاستعلامات.
كيف أضيقها؟
- إذا كنت ستخزن أرقاما صحيحة ما بين 0-255 ، استعمل النوع tinyint (يحتاج ل1 بايت فقط).
-إذا كنت ستخزن أرقاما صحيحة ما بين -32768 إلى 32767 ، استعمل النوع smallint(يحتاج ل2 بايت فقط).
-إذا كنت ستخزن أرقاما صحيحة ما بين -2147483648 إلى 2147483647 ، استعمل النوع int(يحتاج ل4 بايت، قارن !)

- إذا كنت ستخزن قيما نقدية مابين -214748.3648 إلى 214748.3648 استعمل النوع smallmoney (يحتاج ل4 بايت فقط)
- إذا كنت ستخزن قيما نقدية أكبر أو أصغر بكثيييير وتحتاج لدقة أعداد عشرية أكثر فاستعمل النوع money (يحتاج ل8 بايت، قارن).

- إذا كنت ستخزن تواريخ ما بين 1/1/1900 إلى 6/6/2079 مع دقة لمستوع الدقيقة فاستعمل النوع smalldatetime (يحتاج ل4 بايت فقط) أما إذا كان مدى التواريخ أبعد أو كان مطلوبا دقة أكبر فاستعمل النوع datetime (يحتاج ل8 بايت، قارن).


- استعمل النوعين varchar و nvarchar بدلا من النوعين char و nchar بقدر الإمكان، لأن النوعين الأخيرين يبذران الحيز التخزيني في مسافات فارغة .

- استعمل النوعين varchar و nvarchar بدلا من text/ntext بقدر الإمكان، لأن محرك قاعدة البيانات يخزن صفحات البيانات data pages المخصصة للنوعين Text/Image بعيدا عن صفحات البيانات المخصصة للأنواع الأخرى.
لذا فالوصول للنوعين text/ntext سيستغرق وقتا إضافيا.

أحببت أن أنقل لكم هذه المقالة لعلها تفيد
__________________
Monzer Osama
Saudia Arabia - Jeddah
00966501826235
Microsoft Certified Business Management Solutions Professional
Microsoft Certified Trainer

آخر تعديل بواسطة Monzer Osama ، 16-Jul-2008 الساعة 04:25 PM.
Monzer Osama غير متواجد حالياً   رد مع اقتباس
قديم 12-Oct-2014, 07:38 PM   #2
tech4t
عضو جديد
 
تاريخ التسجيل: Dec 2009
المشاركات: 7
من مواضيعي  
 
0 لا يوجد Add Samble Company

افتراضي

بارك الله فيك اخوى
واسمحلى بحفظ الصفحة للرجوع اليها لاحقا
tech4t غير متواجد حالياً   رد مع اقتباس
قديم 02-Jan-2015, 06:09 PM   #3
msasm
عضو جديد
 
تاريخ التسجيل: Jan 2011
المشاركات: 2
من مواضيعي  
 

افتراضي

جزاكم الله خيرا بس اخي وما هو دور rebuild index حيث اني اعمل علي قواعد بيانات اوراكل وما لها من تاثير كبير علي سرعة الوصول للبيانات والاستعلامات
msasm غير متواجد حالياً   رد مع اقتباس
إضافة رد


يتصفح الموضوع حالياً : 1 (0 عضو و 1 ضيف)
 
أدوات الموضوع
انواع عرض الموضوع

ضوابط المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا يمكنك اضافة مرفقات
لا يمكنك تعديل مشاركاتك

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
تحسين إجراءات العمل Business Process Improvement Monzer Osama منتدى جريت بلينز العام 5 28-Jul-2014 10:55 AM
الاستفادة من نظم إدارة المستودعات في تحسين الأداء وتطوير العمليات Monzer Osama منتدى جريت بلينز العام 2 24-Jan-2014 11:37 AM
دعوة لحضور اللقاء الثاني:الاستفادة من نظم إدارة المستودعات في تحسين الأداء وتطوير الع Monzer Osama منتدى جريت بلينز العام 6 14-Jan-2014 07:35 AM
للتزود أكثر في مجال أمن المعلومات أنضموا إلينا ( الدعوه عامه) وائل السلمي منتدى جريت بلينز العام 1 08-Jan-2013 07:18 AM
موضوع كيف تحسين Sql لا يعمل abuizhery منتدى جريت بلينز العام 1 16-Jul-2012 03:39 PM


جميع الأوقات بتوقيت GMT +3. الساعة الآن 04:12 AM.


Powered by vBulletin® Version 3.8.3

الموقع والمنتدى من تطوير » شركة المنذر للاستضافة والتصميم

Copyright © 2000-2010 Jelsoft Enterprises Limited.
الموقع لا يمثل أي جهة رسمية بل هو جهد شخصي يرمي الى تجميع القدرات في برنامج جريت بلينز