EXPLAIN juri l-pjan li għażel l-optimizer — kif se jaċċessa kull tabella — mingħajr ma jħaddem il-query. Taqrah biex tikkonferma li l-indexes qed jintużaw u li ftit rows qed jiġu eżaminati.
EXPLAIN juri l-pjan li għażel l-optimizer — kif se jaċċessa kull tabella — mingħajr ma jħaddem il-query. Taqrah biex tikkonferma li l-indexes qed jintużaw u li ftit rows qed jiġu eżaminati.
const / eq_ref / ref (index lookups, tajjeb) → range → index (full index scan) → ALL (full table scan, il-bandiera ħamra).NULL = l-ebda).Using index (covering, mill-aħjar), Using filesort / Using temporary (sorting/grouping fil-memorja jew fuq disk — ħafna drabi ottimizzabbli).EXPLAIN SELECT * FROM orders WHERE customer_id = 42 ORDER BY created_at;
-- +------+------+------+---------+--------+----------------+
-- | type | key | rows | Extra |
-- | ALL | NULL | 900k | Using where; Using filesort | <- scans everything, sorts
-- +------+------+------+---------+--------+----------------+
-- Add an index that covers the filter AND the sort order:
CREATE INDEX idx_cust_created ON orders (customer_id, created_at);
EXPLAIN SELECT * FROM orders WHERE customer_id = 42 ORDER BY created_at;
-- | type | key | rows | Extra |
-- | ref | idx_cust_created | 30 | Using where | <- seeks 30 rows, no filesort
L-index bidel ALL scan ta' 900k rows f'ref seek ta' 30, u għax created_at huwa t-tieni column, ir-rows joħorġu pre-sorted — il-filesort jisparixxi.
Uża EXPLAIN ANALYZE (MySQL 8) biex tara wkoll iż-żmien reali u l-għadd ta' rows, u taqbad każijiet fejn l-istima tkun żbaljata.
EXPLAIN huwa kif tissostitwixxi t-tħabbil bl-evidenza. Li tinnota type: ALL, rows enormi, jew Using filesort jgħidlek eżattament fejn hemm index nieqes — l-aktar triq mgħaġġla minn "il-paġna bilmod" għal soluzzjoni mmirata.
Librerija ta' mistoqsijiet ta' intervisti tal-IT b'tweġibiet dettaljati — minn Junior sa Senior.
Iddona