Middle+
Ի՞նչ տարբերություն կա PostgreSQL-ում EXPLAIN և EXPLAIN ANALYZE հրահանգների միջև։
sobes.tech AI
Պատասխան AI-ից
PostgreSQL-ում EXPLAIN հրամանը ցույց է տալիս SQL հարցման կատարման պլանը, այսինքն՝ ինչպես տվյալների բազան նախատեսում է ստանալ տվյալները (օգտագործվող ինդեքսները, հաջորդական սկանավորումը, միացումները և այլն): Այն չի իրականացնում հարցումը, միայն վերլուծում է այն:
EXPLAIN ANALYZE ոչ միայն ցույց է տալիս պլանը, այլև իրականացնում է հարցումը, հավաքելով տվյալներ յուրաքանչյուր քայլի կատարման ժամանակի և մշակված տողերի քանակի մասին: Սա թույլ է տալիս տեսնել իրական կատարողականությունը և հայտնաբերել բլոկավորող կետերը:
Օրինակ՝
EXPLAIN SELECT * FROM users WHERE id = 10;
EXPLAIN ANALYZE SELECT * FROM users WHERE id = 10;
Առաջինը ցույց է տալիս պլանը, երկրորդը՝ իրական մետրիկներով պլանը։