السلام عليكم ورحمة الله وبركاته..
كنت أستخدم MS Sql Server 2005 وأتعامل مع قواعد بياناته وهو ممتاز من حيث التخديم ولكن وجدت فيه بعض البطء لو قورن مع MySql Server حيث للبحث في جدول يحتوي على مليون سطر بطريقة البحث العادي سنحتاج باستخدام ديفلوبر إديشن من MS Sql Server 2005 إلى 50 ثانية لعرض عشرة نتائج.
نفس المعلومات ونفس الجدول ونفس طريقة البحث تكلف مع MySQL Server5 فقط 1.3 ثانية لتعرض العشرة نتائج!! :D :P
ربما لو استخدمنا إصدار أقوى من إصدارات MS SQL Server لكانت النتيجة أفضل لكن هذا ليس حلاً!! :S
المهم الآن أنا مضطر للانتقال لاستخدام MySqL رغم سوء مخدماته مقارنة ب MSSql... :angry:
وأول مشكلة واجهتني :wub: هي طريقة عمل وصل لقاعدة البيانات بسيرفر الMysql بحيث لا أضع مجلد قاعدة البيانات في مجلد data في السيرفر كما هي العادة؛ لأنني أستخدم الmysql مع تطبيقات ويندوز وعلي أن أسمح بنقل قاعدة البيانات وإنشائها في القرص D مثلاً والسيرفر في السواقة C.. فكيف أستطيع ربط القاعدة بالمخدم في هذه الحالة علماً أنني أستخدم نوع MyIsam ولا أدرك الفرق جيداً بينها وبين غيرها؟
لعمل هذه الخطوة في MS SQL Server 2005 نستخدم العبارة التالية طبعاً سطر في vb.net:
MyCommand.CommandText = "CREATE DATABASE [" & DataBaseNameInServer & "] ON PRIMARY ( NAME = N'" & IO.Path.GetFileNameWithoutExtension(DataBaseFileName) & "', FILENAME = N'" & DataBaseFileName & "') LOG ON ( NAME = N'" & IO.Path.GetFileNameWithoutExtension(DataBaseFileName) & "_log', FILENAME = N'" & IO.Path.GetDirectoryName(DataBaseFileName) & "\" & IO.Path.GetFileNameWithoutExtension(DataBaseFileName) & "_log.LDF') FOR " & MyAttachingKink.ToString
ولفك القاعدة نستخدم الأمر:
sp_detach_db @dbname = 'dbnameinserver'
الآن ما هي طريقة حل هذه المشكلة مع MySQL Server؟ :wacko:
وجزاكم الله خيراً..