ما نوع البيانات الذي تستخدمه لتخزين المعرفات؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

لماذا يوجد الحد الأدنى من عدد الأحرف لنشر الأسئلة؟ oo

هل تستخدم int ، bigint ، tinyint ، أيا كان؟

يبدو أنه شيء صغير أعتقد أنه كنت أتساءل فقط ما هي الممارسة المعتادة

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

المحلول

كل هذا يتوقف ... إجابتي المفضلة على سؤال! =)

معظم الوقت نستخدم GUIDS. على الرغم من أنها أكبر ، من الحجم ، من int ، tinyint وما إلى ذلك ، أحب حقيقة أن كائنات عملي يمكن أعرف ما هي القيمة قبل إدراج السجلات في قاعدة البيانات.

في أوقات أخرى ، قد أستخدم سلاسل ، لأشياء مثل معرف العميل ، حيث قد يكون ذلك بسهولة معروف عند العمل مع قاعدة البيانات.

نصائح أخرى

لقد وجدت أن تكون كبيرة.

الذهاب أصغر لا طائل منه. . .

نحن نستخدم GUIDS كذلك.

إنه يعمل بشكل أفضل لمزامنة قاعدة بيانات أجنبية متعددة في مستودع بيانات واحد. العيب ليس من السهل معرفة العناصر التي تم إنشاؤها أولاً ، ولكن لا يزال بإمكانك تخزين تاريخ الإنشاء أو الحكم الذاتي إذا كانت هذه مشكلة حقًا.

أنا أحب GUID كثيرا. أفضل شيء هو أنه يمكن إنشاؤه بسهولة على العميل أو الخادم دون القيام بأي رحلات إلى قاعدة البيانات. وأيضًا إذا كان عليك مزامنة قواعد البيانات على الإطلاق ، فستكون إلهًا. العيب الوحيد الذي أجده هو تطبيقات الويب إذا قمت بتمرير المفتاح على عنوان URL ، ثم يمكنك بسهولة الحصول على سلاسل استعلام فوضوية.

ألا يعتمد ذلك على عدد المعرفات التي من المحتمل أن تحتاج إلى تخزينها على مدار عمر التطبيق؟

تحتاج المزيد من المعلومات. ما نوع الهوية التي تخزنها؟ ربما يكون أي شيء أصغر من INT فكرة سيئة ، قد يكون للسلسلة منطقية نظرًا لأنها لا تحتوي على قضية صغيرة من نفاد الأرقام ، وليس مقيدة بالأرقام ، بحيث يمكنك استخدام اسم مستخدم كمعرف ، فمثلا.

سأردد Jason فيما يتعلق دائمًا بوجود عمود مقارن عند استخدام GUIDS. أفضل تسلسلات على GUIDS على الرغم من أنك تريد تسلسلًا في كلتا الحالتين.

نوع البيانات ، يعتمد على عدد السجلات التي تحتاج إلى تخزينها ، ولكن عادة ما يكفي.

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