EXPLAIN nuduhaké rencana sing dipilih optimizer — kepiye dhèwèké bakal ngakses saben tabel — tanpa nglakokaké query. Sampeyan mmacané kanggo mesthèkaké index dienggo lan mung sethithik baris sing diperiksa.
EXPLAIN nuduhaké rencana sing dipilih optimizer — kepiye dhèwèké bakal ngakses saben tabel — tanpa nglakokaké query. Sampeyan mmacané kanggo mesthèkaké index dienggo lan mung sethithik baris sing diperiksa.
const / eq_ref / ref (index lookup, apik) → range → index (full index scan) → ALL (full table scan, tandha bebaya).NULL = ora ana).Using index (covering, apik), Using filesort / Using temporary (pangurutan/pangelompokan ing memori utawa disk — kerep bisa dioptimalake).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
Index kasebut ngowahi scan ALL 900k baris dadi seek ref 30 baris, lan merga created_at iku kolom kapindho, barisé metu wis diurut — filesort ilang.
Nganggo EXPLAIN ANALYZE (MySQL 8) kanggo uga ndeleng wektu lan cacah baris sing nyata, nyekel kahanan ing endi perkiraan salah.
EXPLAIN iku carané ngganti ngira-ngira nganggo bukti. Ndeleng type: ALL, rows sing gedhé, utawa Using filesort ngandhani sampeyan persis ing endi index ilang — dalan paling cepet saka "kacané alon" menyang solusi sing pas.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang