Sobes.tech
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;

Առաջինը ցույց է տալիս պլանը, երկրորդը՝ իրական մետրիկներով պլանը։