كيف تعمل جداول SQL Server المُؤقتة

تُخزِّن الجداول المُؤقتة في SQL Server البيانات بشكل مُؤقت. يُمكنك إجراء نفس العمليات — مثل SELECT و INSERT و DELETE و UPDATE — على جدول مُؤقت كما تفعل مع جدول SQL عادي.

الجداول المُؤقتة موجودة في قاعدة بيانات tempdb وتكون مرئية فقط أثناء مدة الاتصال. عند إنهاء الاتصال ، يتم حذف الجدول المؤقت بواسطة SQL Server. يمكنك أيضًا حذفه بشكل صريح في أي وقت. تحقق من كيفية تثبيت وإعداد Microsoft SQL Server على Ubuntu.

كيف تعمل جداول SQL Server المُؤقتة - شروحات

أنواع جداول SQL Server المؤقتة

هناك نوعان من جداول SQL Server المُؤقتة: المحلية والعامة.

جدول مُؤقت محلي

يكون الجدول المُؤقت المحلي مرئيًا فقط للاتصال الذي أنشأه. عند انتهاء هذا الاتصال ، أو قطع اتصال المستخدم بمثيل SQL Server ، يتم التخلص من الجدول المؤقت المحلي تلقائيًا.

لإنشاء جدول مؤقت محلي ، استخدم رمز تجزئة واحد (#) في بداية اسم الجدول مع عبارة CREATE TABLE. إليك بناء الجملة المُناسب.

CREATE TABLE #TempTable (
 Column1 INT,
 Column2 VARCHAR(50)
);

على سبيل المثال ، تُنشئ التعليمات البرمجية التالية جدولاً مؤقتًا يُسمى TempCustomer مع اسم وحقل بريد إلكتروني.

CREATE TABLE #TempCustomer (
 ID int NOT NULL PRIMARY KEY
 FullName VARCHAR(50),
 Email VARCHAR(50)
);

جدول مُؤقت عام

الجدول المُؤقت العام هو جدول مؤقت مرئي لجميع الاتصالات والمُستخدمين. سيقوم SQL Server بإسقاطه عند قطع الاتصال مع كافة الاتصالات والمُستخدمين الذين يشيرون إلى الجدول.

لإنشاء جدول مؤقت عام ، ابدأ اسم الجدول برمز تجزئة مُزدوج (##) واستخدم عبارة CREATE TABLE.

CREATE TABLE ##TempTable (
 Column1 INT,
 Column2 VARCHAR(50)
);

تقوم التعليمة البرمجية التالية بإنشاء جدول مُؤقت عام يسمى TempCustomer.

CREATE TABLE ##TempCustomer (
 ID int NOT NULL PRIMARY KEY
 FullName VARCHAR(50),
 Email VARCHAR(50)
);

هذه التعليمة البرمجية مُشابهة لمثال الجدول المُؤقت المحلي ، فقط برمزين تجزئة بدلاً من رمز واحد. يُمكنك الآن استخدام أوامر SQL القياسية لإضافة البيانات أو معالجتها في الجدول المُؤقت.

كيفية إسقاط جدول مؤقت

يقوم مثيل SQL Server تلقائيًا بإسقاط جدول مُؤقت عند قطع اتصال كافة المُستخدمين الذين يشيرون إليه. كأفضل ممارسة ، يجب عليك دائمًا إسقاط الجداول المُؤقتة بشكل صريح لتحرير ذاكرة tempdb.

لإسقاط جدول مُؤقت ، استخدم عبارة DROP TABLE IF EXISTS متبوعة باسم الجدول المؤقت.

إليك كيفية إسقاط جدول #TempCustomer:

DROP TABLE IF EXISTS #TempCustomer

استخدم نفس التعليمة البرمجية ولكن قم بتبديل اسم الجدول لإسقاط جدول مُؤقت عام.

DROP TABLE IF EXISTS ##TempCustomer

الاستخدامات النموذجية لجداول SQL المؤقتة

تُعد الجداول المؤقتة مُفيدة عندما تحتاج إلى تخزين النتائج الوسيطة للاستعلامات المُعقدة التي تحتاج إلى مزيد من المعالجة. على سبيل المثال ، عند إنشاء التقارير ، قد تحتاج إلى إنشاء جداول مؤقتة لتخزين نتائج الاستعلام من عدة قواعد بيانات. يمكنك بعد ذلك إنشاء التقرير النهائي عن طريق تشغيل الاستعلام الذي تم تخزينه في الجداول المؤقتة.

سيناريو آخر أين قد تكون الجداول المُؤقتة مُفيدة هي عندما تحتاج إلى نتائج الاستعلام من جدول واحد لتشغيل استعلام آخر. يُمكنك تخزين النتائج في جدول مؤقت ثم الرجوع إليها في الاستعلام الجديد. بشكل أساسي ، أنت تستخدم الجدول المُؤقت كجدول عمل أو مخزن مُؤقت للاحتفاظ بالبيانات التي تحتاجها لأداء مُهمة مُحددة.

استخدام الجداول المُؤقتة في SQL Server

يُمكنك استخدام جداول SQL Server المُؤقتة لتخزين البيانات ومعالجتها بشكل مُؤقت. هناك نوعان من الجداول المؤقتة ، المحلية والعامة. يكون الجدول المؤقت المحلي مرئيًا للاتصال الذي تم إنشاؤه من خلاله بينما يكون الجدول المؤقت العام مرئيًا عبر جميع الاتصالات.

يتم إتلاف الجداول المؤقتة تلقائيًا عند قطع الاتصال بمثيل الخادم. ومع ذلك ، للحفاظ على الذاكرة ، يجب عليك دائمًا التخلص منها بعد الإنتهاء من الاستخدام. يُمكنك الإطلاع الآن على كيفية تثبيت Azure Data Studio على Linux لإدارة خوادم SQL.

المصدر
زر الذهاب إلى الأعلى