يأتي SQLite 3.35 مزودًا بوظائف رياضية مدمجة جديدة والمزيد

تم إصدار إصدار SQLite 3.35 وفي هذا الإصدار الجديد من مدير قاعدة البيانات هذا يتم تمييز إضافات الوظيفة الرياضية ، بالإضافة إلى دعم تعبير ALTER TABLE DROP COLUMN لإسقاط الأعمدة من جدول وتحسين العمليات والمزيد.

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

الميزات الرئيسية الجديدة لـ SQLite 3.35

كما ذكرنا في البداية ، في هذا الإصدار الجديد وأضاف وظائف الرياضيات المضمنة (log2 () ، cos () ، tg () ، exp () ، ln () ، pow () ، إلخ.) التي يمكن استخدامها في SQL. لتمكين الوظائف المضمنة ، يلزم تجميع مع خيار "-DSQLITE_ENABLE_MATH_FUNCTIONS".

التعبير يدعم خيار "ALTER TABLE DROP COLUMN" الآن إسقاط الأعمدة من الجدول وحذف البيانات المخزنة مسبقًا في هذا العمود.

تنفيذ عملية UPSERT (إضافة أو تعديل) ، والذي يسمح لك باستخدام تعبيرات مثل "INSERT ON CONFLICT DO NOTHING / UPDATE" لتجاهل خطأ أو إجراء تحديث بدلاً من الإدراج إذا كان من المستحيل إضافة البيانات عبر "INSERT" (على سبيل المثال ، إذا كان التسجيل ، يمكن إجراء التحديث بدلاً من INSERT).

في الإصدار الجديد يسمح بتحديد عدة كتل «في نزاع«، والتي ستتم معالجتها بالترتيب. في آخر كتلة "ON CONFLICT" ، يُسمح بعدم تحديد معلمة تعريف التعارض لاستخدام "DO UPDATE".

العمليات يدعم حذف وإدراج وتحديث التعبير RETURNING، ذلك يمكن استخدامه لعرض محتوى سجل محذوف أو مدرج أو معدل. على سبيل المثال ، "إدراج في ... معرّف الإرجاع" سيعيد معرّف الصف المضاف ، و "تحديث ... ضبط السعر = السعر * سعر الإرجاع 1.10" سيعيد قيمة السعر المحدّث.

بالنسبة لتعبيرات الجدول المعممة (Common Table Expression، CTE) ، والتي تسمح باستخدام مجموعات النتائج المسماة مؤقتًا ، باستخدام WITH طلب عامل التشغيل ، وافق على اختيار الوضعين "MATERIALIZED" و "NOT MATERIALIZED".

  1. تعني "MATERIALIZED" تخزين الاستعلام المحدد في طريقة العرض في جدول فعلي منفصل مع استرداد لاحق للبيانات من هذا الجدول.
  2. وباستخدام "غير مؤهل" ، سيتم تنفيذ الاستعلامات المتكررة في كل مرة يتم فيها الوصول إلى العرض. في البداية ، تم تعيين SQLite افتراضيًا إلى "غير مؤهل" ولكن تم تغييره الآن إلى "MATERIALIZED" لـ CTEs المستخدمة أكثر من مرة.

من التغييرات الأخرى التي تتميز عن هذا الإصدار الجديد:

  • تقليل استهلاك الذاكرة عند إجراء عمليات VACUUM لقواعد البيانات التي تتضمن قيمًا كبيرة جدًا بأنواع TEXT أو BLOB.
  • تم العمل على زيادة أداء المُحسِّن وجدولة الاستعلام.
  • تمت إضافة تحسينات عند استخدام الدالتين min و max مع التعبير "IN".
  • تم تسريع تنفيذ بيان EXISTS.
  • تم تنفيذ توسيع الاستعلامات الفرعية لتعبيرات UNION ALL المستخدمة في JOIN.
  • الفهرس المستخدم لتعبيرات IS NOT NULL.
  • تم توفير تحويل "x IS NULL" و "x IS NOT NULL" إلى FALSE أو TRUE للأعمدة التي تحتوي على علامة "NOT NULL".
  • يتم تخطي تدقيق المفتاح الخارجي في UPDATE إذا لم تغير العملية الأعمدة المرتبطة بالمفتاح الخارجي.
  • يُسمح بنقل أجزاء من جملة WHERE إلى الاستعلامات الفرعية التي تحتوي على وظائف النافذة إذا كانت هذه الأجزاء مقصورة على العمل مع الثوابت ونسخ تعبيرات عبارة "PARTITION BY" المستخدمة في وظائف النافذة.

التغييرات في واجهة سطر الأوامر:

  • تمت إضافة الأمر ".filectrl data_version".
  • أضاف الأمران ".once" و ".output" دعمًا لتمرير الإخراج إلى وحدة تحكم تسمى باستخدام أنابيب غير مسماة ("|").
  • أضاف الأمر ".stats" الوسيطتين "stmt" و "vmstep" لعرض إحصائيات عن عدادات وتعبيرات الآلة الافتراضية.

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها حول هذا الإصدار الجديد من SQLite ، يمكنك التحقق من التفاصيل بالذهاب إلى الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.