~/talk

Designing Effective Schema for Innodb

links:none on file
slides:none on file

Practical, actionable rules for InnoDB schema: keep a large buffer pool and use file-per-table; store UUIDs as VARBINARY(36) not CHAR(36) (CHAR(36) with utf8 becomes 108 bytes); prefer AUTO_INCREMENT or clustered keys (for example make user_id,object_id the PK) to avoid random leaf-page inserts—random inserts drop a laptop test from ~20,000 rows/s to <100 rows/s; use INT(4) for IPv4, TINYINT for boolean flags, TIMESTAMP (4 bytes) instead of DATETIME when appropriate, and avoid large TEXT/BLOB in-row to reduce I/O.

AI-written summary · about

  1. 0:00InnoDB schema design intro
  2. 1:04InnoDB internals core
  3. 9:35File-sharing app schema
  4. 13:35Schema performance issues
  5. 15:03Schema optimization tips
  6. 21:43Optimal data types
  7. 26:03UUID and random inserts impact
  8. 27:53Primary key ordering
  9. 29:22Secondary keys and buffer pool
  10. 30:30Reorganizing primary keys
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.