Forwarded from Wiwid LuckyGuy354
Tips n tricks DB:
- Jangan join > 2 table
- Klo join, pastiin type column, collation size sama as is
- wildcard utk like, pakai HANYA dibelakang string
- range ada start dan end... Jangan hanya > atau < aja
- hindari kalkulasi where
- hindari count distinct, pakai count group by
- kalau update lebih dr 1 kondisi, pakai composite index utk tiap field kondisi
- best practice utk soft delete: pakai flag (1/0) dan bukan timestamp+null
- avoid nullable column, pakai default '' or 0 aja
- semua column yg akan dpakai di WHERE, ORDER BY, GROUP BY, JOIN wajib di index
- avoid max size dari column (mis: varchar(255))
- db naming pakai _ klo > 1 syllable
- default db charset: utf8mb4 jgn utf8 aja
- default collation: utf8mb4_general_ci
- low cardinal column ga ush di index, i.e: gender
- query <= 15ms (😭) -> diluar network
- siapin query killer (klo berani) dari awal (😱)
- perhatikan column order utk klo mo bikin composite index dan query2 yg akan pakai composite index itu
- join, put smaller table on the left!
- select columns jangan select *, pakai yg dbutuhkan aja, utk keep memory usage
- kontent teks dgn isi ber-paragraph2, bikin table sendiri, bikin relasi 1 on 1
- jgn sorting data, klo hasilnya besar ( > 1000 rows)
- jangan pakai NOT IN ..., Instead, pakai NOT EXISTS ( SELECT 1 ... WHERE IN )
- explain tiap query sebelum di commit/deploy

Dari om ariedeha di group phpid