أسئلة MS Access - قابلية التوسع/الفهرسة/المعاملات

StackOverflow https://stackoverflow.com/questions/179768

  •  05-07-2019
  •  | 
  •  

سؤال

بعض الأسئلة حول قواعد بيانات MS Access -

مقاس:هل هناك حدود لحجم قاعدة بيانات الوصول؟سبب سؤالي هو أن لدينا قاعدة بيانات وصول تحتوي على بعض الجداول البسيطة.حجم الديسيبل حوالي 1 جيجاعندما أقوم بإجراء استعلام عليه، أرى أن تشغيله يستغرق أكثر من 10 دقائق.

مع الفهرسة المناسبة، هل يجب أن يكون MS Access قادرًا على التعامل مع هذا أم أن هناك قيودًا أساسية على التكنولوجيا.

هذا هو MS Access XP.

وأيضًا، هل يدعم MS Access معاملات قواعد البيانات والالتزام والتراجع؟

هل كانت مفيدة؟

المحلول

وسوف تحصل على الكثير من الإجابات المختلفة هنا، ولكن في رأيي الوصول إليها فقط لم يكن هناك حلا للتحجيم. فإنه لا يعالج حالات متعددة المستخدمين بشكل جيد للغاية، والبدء في التعامل مع 1GB في حجم والاستقرار يبدأ لتصبح مصدر قلق كبير، وفي واقع الأمر مجرد لا يكون الأداء.

في ما يخص دعم الصفقة، يرجى الاطلاع على هذا مايكروسوفت القطب الشمالي جنيه.

وأيضا، وهنا هو مادة يشير فعلا أغلبية جيدة من <لأ href = "http://databases.aspfaq.com/database/what-are-the-limitations-of-ms-access.html" يختلط = "نوفولو noreferrer"> القيود المفروضة على وصول .

نصائح أخرى

في الإجابة -

والحجم: الحد الأقصى لحجم قاعدة بيانات Access هو 2GB.

والمعاملات: يتم اعتماد المعاملات بالكامل من قبل مشغل قاعدة بيانات JET الأساسي

ومن التجربة الماضية وأنا أميل إلى القول إن كنت على الارجح ضرب الحد الأقصى لحجم صالحة للاستعمال، وربما ينبغي أن تنظر تكبير حجمها إلى SQL Server اكسبرس.

وشخصيا، لقد وجدت الحد "صالحة للاستعمال" لتكون في حدود بضع مئات ميغا بايت.

تم تصميم وصول وتهدف لقواعد البيانات الصغيرة. لالكبيرة، منها أي شيء أبعد من مجرد أنك وعلى بعد بضع قليل من الناس يستخدمون، يجب عليك أن تبحث في RDBMS "حقيقية" مثل SQL Server و Oracle، DB2، الخلية، وما إلى ذلك.

تعديل - يمكنك رؤية HTTP: //www.blueclaw-db كوم / vb_transaction_processing.htm للحصول على وسيلة للتعامل مع المعاملات مع Access. على ما يبدو انها ليست أصلية.

الحد الأقصى لحجم قاعدة بيانات Access هو 2 جيجابايت.يمكنك التغلب على ذلك باستخدام الجداول المرتبطة في ملفات أخرى، ولكن ربما حان الوقت لاستخدام قاعدة بيانات أكثر قوة إذا كنت تواجه مشكلات في الأداء بالفعل.

توصيتي ستكون للنظر في SQL Server المضغوط, ، وهي قاعدة بيانات قائمة على الملفات بدون تكلفة، أو الأفضل من ذلك، SQL خادم اكسبرس, ، وهو إصدار "بسيط" بدون تكلفة من SQL Server والذي سيدعم العديد من المستخدمين وإمكانية التشغيل التفاعلي مع SQL Server.كلاهما يحدك من قواعد البيانات بسعة 4 جيجابايت.

جميع المنتجات المذكورة، بما في ذلك الوصول، ومعاملات الدعم.

ولست متأكدا إذا كانت لا تزال هناك في النسخة XP، ولكن في Access 97، كانت هناك خيارات التعاقد والإصلاح. إذا كانت هذه لا تزال الخيارات، فإنها قد تساعد.

ولئن كان هذا يحدث منذ سنوات عديدة إلى الوراء في الوقت الذي كانت تكلفة الدخول إلى تثبيت SQL Server باهظة مثل أوراكل، واحدة من موكلي كان يستخدم الوصول إلى محاولة لإدارة مركز الاتصال الوارد.

ونحن نتحدث عن مفاهيم قواعد البيانات VLDB-جدا كبيرة 40 مليون الصفوف. كان هذا في عهد شركات الهاتف المتداول خارج هوية المتصل وتقدم مشتركيها وسيلة للحصول على جهاز إظهار رقم المتصل مجانا. بسبب contraints التكلفة كان عليهم أن تجاهل مناشدات جهدي لجعل الاستثمار SQL خادم.

في واقع الامر انه يبدو أن الوصول أطاحت بنحو 800MB. نحن تقسيم الجداول في قواعد بيانات Access متعددة للتعامل مع هذا العبء. صدق أو لا تصدق، انها عملت بشكل جميل. كان العميل بالامتنان.

في الممارسة نظرا لتوافر اكسبرس SQL، وأنا أيضا أوصى الذهاب في هذا الطريق.

وانطباعي من قراءة مجموعات الأخبار الوصول على مر السنين هو أن محرك ACE / جت (.accdb، .mdb أو ملف .mde) ينصح فقط في الوقت الحاضر عند استخدام MS Access كما بيئة تطوير المستندة إلى النماذج RAD باستخدام نماذج منضمة. إذا لم يكن لديك جبهة الوصول تنتهي بعد ذلك هناك بعض الحجج لصالح ACE / جت النهاية الخلفية عند النظر في أكثر قابلة بكثير (وقادرة) بدائل: SQL خادم اكسبرس أو SQL Server Edition ضغط للمحلات MS، الخلية، الخ.

وكما reagrds دعم الصفقة في محرك ACE / جت، نعم كان موجودا والأصلي. إجابة أخرى مرتبطة مقال حول استخدام المعاملات عبر DAO: لاحظ أن العديد من جوانب DAO تقتصر لأن تطورها تتخلف أن المحرك والمعاملات هو مثال واحد. لحسن الحظ، يمكنك استخدام SQL DCL: بدء المعاملة، ارتكاب الصفقة، التراجع عن الصفقة، وغيرها لacomplish الأشياء غير ممكن مع DAO على سبيل المثال المعاملات المتداخلة. SQL DCL يتطلب واجهة الوصول ليكون في ANSI-92 وضع الاستعلام. باستخدام ADO سوف يعمل بسبب ADO يستخدم هذا الوضع أصلا. لمزيد من التفاصيل، انظر:

المتقدم مايكروسوفت جيت SQL ل Access 2000

وجيت يمكن أن يكون مخزن بيانات جيدة للغاية بالنسبة لأي عدد من منصات تطوير سطح المكتب، وليس فقط مع وصول نفسها. لقد كان دائما الخيار الأول للمطورين VB ولا يزال (لسبب وجيه).

وA 1GB MDB أنه من غير المتوقع أن تنمو الكثير يجب ألا يكون هناك مشكلة من حيث السرعة أو الموثوقية. إذا كان بطيئا، فأنت لم فهرستها ذلك الحق، أو كنت تكتب SQL غير فعالة للغاية. ومثال على SQL غير فعالة يكون تطبيق عبارات WHERE إلى التعبيرات، التي بالتالي لا يمكن استخدام الفهارس - على سبيل المثال سيكون

WHERE Year([MyTable].[MyDate]) = 2002

وبدلا من

WHERE MyTable.MyDate Between #1/1/2002# And #12/31/2002#

إذا كنت تواجه قضايا الاستقرار (أي الفساد المستشري)، وهذا هو المشكلة التي تحتاج إلى معالجة - انها عادة ما تكون بسبب خطأ بشري، مشاكل في الأجهزة أو مشاكل البرامج (مثل برنامج AV التدخل في عمليات الكتابة جيت الداخلي) .

ولكن العامل المحدد الرئيسي هو كيف بسرعة ينمو في MDB. إذا كنت استقراء خارج التاريخية معدل النمو ونهج 2GBs في غضون 5 سنوات، وأنا أقول لك حاجة لتكبير قريبا. إذا كان أشبه 10 عاما، ربما يجب عليك أن تفعل ذلك على أي حال. اذا كان 20 عاما، بعد ذلك، وليس ذلك بكثير.

scroll top