متعدد متجر أوامر جدول ترتيب تسلسلي الأرقام استنادا إلى المحل

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

سؤال

أنا أبحث في بناء متجر الحل الذي يجب أن تكون قابلة للتطوير.حاليا فإنه يسترد 1-2000 أوامر في المتوسط يوميا في أنحاء متعددة من البلاد على أساس المحلات التجارية (على سبيل المثالالمملكة المتحدة, الولايات المتحدة, de, dk, es.... الخ) لكن هذا الأمر يمكن أن يكون 10 أضعاف هذا المبلغ في غضون عامين.

أنا أبحث في إما باستخدام منفصلة البلد متجر قواعد البيانات لتخزين الأوامر الجداول ، أو تسعى إلى الجمع بين كل ما في أمر واحد الجدول.

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

العالمية ID = 1000, بلد = المملكة المتحدة, دولة النظام ID = 1000
العالمية ID = 1001, بلد = دي, البلد من أجل ID = 1000
العالمية ID = 1002, بلد = دي, البلد من أجل ID = 1001
العالمية ID = 1003, بلد = دي, البلد من أجل ID = 1002
العالمية ID = 1004, بلد = المملكة المتحدة, دولة النظام ID = 1001

العالمية ID سيكون DB ولدت و لا شيء كنت بحاجة للقلق حول.ولكن أنا أفكر أنني يجب أن تفعل استعلام للحصول على القطري الحالي من أجل بناء الهوية+1 إلى إيجاد المقبل متتابعة عدد.شيئين شاغلا لي عن هذا:1) الاستعلام مرات عندما يحتوي الجدول على الملايين من الصفوف من البيانات و أنا أقوم القراءة قبل الكتابة ، 2) إمكانية رقم اشتباكات بسبب وقت واحد يكتب/يقرأ.

مع MyISAM الجدول الجدول بأكمله يمكن أن يكون مؤمنا حين آخر دولة النظام + 1 يتم استردادها ، لمنع رقم الاشتباكات.

وأنا أتساءل عما إذا كان أي شخص يعرف أكثر أناقة الحل ؟

الهتافات ، imanc

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

المحلول

هناك طريقة للقيام بذلك.

INSERT INTO test123 (`Country`, `Country order code`)
SELECT 'UK', MAX(`Country order code`) + 1
FROM test123
WHERE `Country` = 'UK'

وهذا يضع نظام جديد في المملكة المتحدة ، فإنه يختار أعلى رمز النظام وهو يضيف واحد.هذا وقد تم اختبار, وكل ذلك يحتاج إلى تغيير هو أسماء الجداول والحقول

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top