- كيفية تخزين البيانات ومكان تخزينها، وأين تُكتَب، ومن أين تُقرَأ.
- الاستعلامات المدعومة وكيفية تنفيذها.
- الوصول المتزامن إلى البيانات.
- استخدام الفهارس، إن وُجدت.
- ما إذا كان تنفيذ الطلبات على عدة خيوط ممكنًا.
- معلمات النسخ المتماثل.
عائلات المحرّكات
MergeTree
MergeTree نسخ البيانات المتماثل (من خلال إصدارات Replicated* من المحركات)، والتقسيم، والفهارس الثانوية لتخطّي البيانات، وميزات أخرى لا تدعمها المحركات الأخرى.
المحركات في هذه العائلة:
Log
محركات التكامل
المحركات الخاصة
الأعمدة الافتراضية
CREATE TABLE، ولا يمكنك رؤيتها في نتائج استعلامَي SHOW CREATE TABLE وDESCRIBE TABLE. كما أن الأعمدة الافتراضية للقراءة فقط، لذا لا يمكنك إدراج البيانات فيها.
لاختيار البيانات من عمود افتراضي، يجب تحديد اسمه في استعلام SELECT. ولا يعيد SELECT * قيماً من الأعمدة الافتراضية.
إذا أنشأت جدولاً يحتوي على عمود له الاسم نفسه لأحد الأعمدة الافتراضية في الجدول، يصبح العمود الافتراضي غير متاح. لا نوصي بذلك. وللمساعدة في تجنب التعارضات، تبدأ أسماء الأعمدة الافتراضية عادةً بشرطة سفلية.
-
_table— يحتوي على اسم الجدول الذي قُرئت منه البيانات. النوع: String. بغض النظر عن محرك الجدول المستخدم، يتضمن كل جدول عمودًا افتراضيًا عامًا باسم_table. عند الاستعلام عن جدول يستخدم محرك Merge table، يمكنك تعيين شروط ثابتة على_tableفي عبارةWHERE/PREWHERE(على سبيل المثال،WHERE _table='xyz'). في هذه الحالة، تُنفَّذ عملية القراءة فقط على الجداول التي يتحقق فيها الشرط على_table، ولذلك يعمل العمود_tableبوصفه فهرسًا. عند استخدام استعلامات منسقة مثلSELECT ... FROM (... UNION ALL ...)، يمكننا تحديد الجدول الفعلي الذي تنشأ منه الصفوف المُعادة من خلال تحديد العمود_table.