Skip to main content
CF

High Performance SQLite

15h 27m 55s
English
Paid

Unlock the true potential of SQLite with this comprehensive course designed to elevate your skills from beginner to expert. Master the ins and outs of SQLite and learn how to effectively use it in production environments. Discover optimization techniques, advanced features such as full-text search, JSON support, and more to handle data with maximum efficiency.

Course Objectives

This course aims to equip you with the skills necessary to:

  • Understand the fundamental concepts of SQLite.
  • Utilize SQLite in production settings responsibly and efficiently.
  • Optimize database performance for better speed and scalability.
  • Leverage advanced SQLite features like full-text search and JSON manipulation.

What You'll Learn

Getting Started with SQLite

Begin your journey by gaining a solid understanding of SQLite's basic principles and command line interface operations.

SQLite Optimization Techniques

Learn how to fine-tune your databases by employing indexing strategies, query optimization, and other performance enhancement methods.

Advanced SQLite Features

Full Text Search

Discover how to implement and utilize full-text search capabilities to allow for efficient data retrieval and query processing.

JSON Support

Understand how to handle JSON data natively within SQLite, enabling you to store and query complex nested data efficiently.

Why Choose This Course?

Whether you're looking to integrate SQLite into a new project or optimize an existing application, this course offers the comprehensive insights necessary to maximize SQLite's capabilities. Join us to transform your data handling skills and leverage SQLite's full potential for your applications.

About the Author: Aaron Francis

Aaron Francis thumbnail

Aaron Francis is a Texas-based developer and educator who runs Try Hard Studios and is best known in the PHP / Laravel community for his deep production-database content. His videos and courses focus on the parts of working software that don't get attention from the framework documentation: SQL performance, database internals, and the realities of running databases at scale.

His CourseFlix listing reflects that focus — three database courses (High Performance SQLite, Mastering Postgres, MySQL for Developers) plus two on screencasting craft (Screencasting.com and Screenflow for Screencasters) covering the workflow he uses to produce the database material itself. The database courses are unusually rigorous for the YouTube-tutorial market: each one runs many hours and treats the database as a first-class object of study, not a black box behind an ORM.

Watch Online 93 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 93 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 01. Introduction to this course
All Course Lessons (93)
#Lesson TitleDurationAccess
1
01. Introduction to this course Demo
04:33
2
02. Introduction to SQLite
05:12
3
03. SQLite is safe
03:04
4
04. It's just a file
03:17
5
05. Running SQLite locally
02:56
6
06. Good uses for SQLite
06:23
7
07. SQLite's limitations
03:52
8
08. The documentation
02:28
9
09. SQLite's structure
04:39
10
10. SQLite's file format
03:52
11
11. Dot commands
09:22
12
12. Pragmas
06:10
13
13. Virtual tables
03:48
14
14. Flexible types
05:43
15
15. Types
10:26
16
16. Strict types
05:41
17
17. Dates
07:59
18
18. Booleans
01:02
19
19. Floating point
07:27
20
20. Rowid tables
11:02
21
21. Auto increme
06:47
22
22. Without rowid
03:26
23
23. Generated columns
06:49
24
24. Locking
04:30
25
25. Rollback mode
04:16
26
26. WAL mode
04:13
27
27. WAL vs Journal benchmarks
05:37
28
28. Busy timeout
04:29
29
29. Transaction modes
04:21
30
30. Vacuum
06:48
31
31. Analyze & Optimize
05:16
32
32. Suggested pragmas
05:23
33
33. Faster inse
01:32
34
34. Introduction to indexes
05:33
35
35. B+ trees
05:01
36
36. Primary, secondary, and clustered indexes
08:07
37
37. Without rowid tables
01:56
38
38. Benchmarking without rowid tables
07:04
39
39. Imposter tables
03:24
40
40. Primary key data types
04:02
41
41. Where to add indexes
11:43
42
42. Index selectivity
09:14
43
43. Composite indexes
11:38
44
44. Composite ordering
03:01
45
45. Covering indexes
09:33
46
46. Partial indexes
08:07
47
47. Indexes on expressions
05:02
48
48. Automatic indexes
04:23
49
49. Duplicate indexes
06:17
50
50. Indexing joins
08:32
51
51. Explain
06:14
52
52. Index obfuscation
03:47
53
53. Joins
09:01
54
54. Subqueries
11:38
55
55. Unions
06:37
56
56. CTEs
03:48
57
57. Recursive CTEs
09:26
58
58. Window functions
10:53
59
59. Dealing with NULLs
03:36
60
60. Row value syntax
10:12
61
61. Indexed sorting
06:12
62
62. Upse
07:56
63
63. Returning
03:34
64
64. Aggregates
09:59
65
65. Triggers
05:29
66
66. Altering schema
10:57
67
67. Altering schema with tools
04:24
68
68. Multi-database
02:20
69
69. Multi-tenancy
11:34
70
70. Backups
04:26
71
71. Expo
05:37
72
72. How to corrupt SQLite
03:04
73
73. Intro to JSON
03:40
74
74. JSON vs. JSONB
05:07
75
75. Argument types- path, value, JSON
09:19
76
76. JSON5
03:20
77
77. Valid JSON
07:13
78
78. Creating JSON obje + arrays
02:43
79
79. JSON Extraction
06:47
80
80. Updating JSON
07:11
81
81. JSON aggregates
05:14
82
82. JSON table functions
07:43
83
83. Indexing JSON
07:49
84
84. Creating tables
13:56
85
85. Performing searches
10:45
86
86. Ranking resu
05:58
87
87. Highlighting matches
05:52
88
88. DHH discusses SQLite in Ruby on Rails
54:00
89
89. Distributed SQLite with Litestream and LiteFS
54:37
90
90. Offline-first, multiplayer SQLite
01:21:25
91
91. Production SQLite with Turso and libSQL
01:02:53
92
92. DHH discusses SQLite in Ruby on Rails
54:00
93
93. Ruby on Rails with SQLite
01:22:39
Unlock unlimited learning

Get instant access to all 92 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites are needed before taking this course?
The course does not specify formal prerequisites, but a basic understanding of database concepts and familiarity with command line interface operations will be beneficial. The course begins with foundational lessons on SQLite principles, making it accessible even for those new to SQLite.
What projects or exercises will I work on during the course?
The course covers a variety of practical topics such as implementing full-text search, handling JSON data, and optimizing database performance through indexing and query optimization. While specific projects are not listed, these topics suggest hands-on exercises focused on utilizing advanced SQLite features in realistic scenarios.
Who is the target audience for this course?
This course is designed for individuals seeking to advance their knowledge of SQLite, from beginners wanting to learn the basics to experienced users looking to optimize SQLite in production environments. It is particularly beneficial for developers integrating SQLite into new projects or enhancing existing applications.
What advanced features of SQLite are covered in this course?
The course delves into advanced SQLite features such as full-text search and JSON support. These lessons aim to enhance efficient data retrieval and enable complex data handling, providing students with skills to leverage SQLite's capabilities beyond basic use.
What topics are not covered in this course?
While the course provides a comprehensive look at SQLite, it does not cover broader database management systems or the use of SQLite in non-production environments. The focus remains on SQLite-specific techniques and optimizations.
How much time should I expect to commit to this course?
The course consists of 93 lessons. Although the total runtime is not provided, students should anticipate dedicating time to both video content and hands-on exercises, especially in areas like database optimization and advanced feature implementation.
How will skills from this course carry over to other areas or careers?
Skills acquired in this course, such as database optimization, indexing strategies, and handling JSON data, are applicable to broader database management and development roles. Mastery of SQLite can enhance one's ability to work on data-heavy applications and optimize performance in various technological environments.