~/talk

Things every developer absolutely, positively needs to know about database indexing

Talkat Laracon EU 2018 · on Friday, 2018-08-31· [databases]
slides:none on file

Shows B trees and why order matters, runs EXPLAIN in MySQL and reads the type column to see access patterns, uses a demo table of 2.25 million rows, and demonstrates range, index and full table scans. Replaces YEAR(created_at) with a BETWEEN to let indexes work, forces an index to reveal MySQL chooses full scans when row fetches cause IO, builds a covered index-only scan to cut 600ms queries down to ~92ms and finally under 1ms.

AI-written summary · about

  1. 0:00Introduction
  2. 10:32Tradeoffs
  3. 11:07Execution plan
  4. 12:52Access type
  5. 13:26Cons
  6. 14:59Ref and Range
  7. 16:07Index
  8. 17:03Recap
  9. 19:26Indexing
  10. 20:20Query Execution Plan
  11. 21:08Possible Keys and Key
  12. 21:37Functions
  13. 23:00Functions based indices
  14. 24:17Removing the function
  15. 25:23Not using the index
  16. 26:03Force index
  17. 29:14Full table scan
  18. 30:40Index only scan
  19. 32:18Force push
  20. 33:51Multicolumn indexing
  21. 36:15Inequality operators
  22. 38:27Index vs Query
~/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.