B-tree Index یکی از رایجترین ساختارهای ایندکس در پایگاه دادههای رابطهای است. به جای اسکن کل جدول، موتور پایگاه داده میتواند با پیمایش گرههای مرتب به کلید یا بازه موردنظر برسد.
CREATE INDEX idx_orders_status_created ON orders(status, created_at);
EXPLAIN SELECT id FROM orders WHERE status = 'paid' ORDER BY created_at DESC LIMIT 20;
ترتیب ستونهای ایندکس ترکیبی مهم است. برابری روی status و مرتبسازی روی created_at معمولاً به استفاده بهتر از ایندکس کمک میکند، اما انتخاب نهایی با بهینهساز و بر اساس آمار انجام میشود.
اصطلاحات مرتبط: بی تری، ایندکسینگ، بهینهسازی کوئری.
چرا ایندکس بی تری مناسب است؟
بی تری ساختاری مرتب برای جستوجو و بازهخوانی است. در دیتابیسها معمولاً گونههای B+Tree رایجاند. شرط برابری و Range میتواند از این ساختار سود ببرد, اما ترتیب ستونهای ایندکس مرکب مهم است.