# TiDB Course 201 Knowledge Index
+ 2022-05-19

| Knowledge | Chapter:Slide_No.[Slide_Title] | Knowledge | Chapter:Slide_No.[Slide_Title] |
| :--   | :-- | :--   | :--  |
| ABC Principles | 3:32.[Select Data Types] | ABS function | 4:36.[Basic Arithmetic Functions] |
| ACID | 8:14.[Transaction] | ANSI SQL mode | 11-Java:08.[Other Important Sql Modes] |
| ANSI_QUOTES SQL mode schema | 3:28.[String Expressions] | AUTOCOMMIT | 8:15.[Automatic Transaction Commit Mode]; 8:17.[Implicit Commit] |
| AUTO_INCREMENT | 7:13.[Auto_Increment Attribute] | AUTO_RANDOM | 7:14.[Auto_Random] |
| Associated Subqueries | 6:09.[Correlated Subquery] | Avoiding Table Full Scan | 12:08.[Try To Avoid Full Table Scan] |
| BEGIN | 8:16.[Transaction Control Statements]; 8:18.[Transaction Control Statement Demo] | BEGIN OPTIMISTIC | 8:25.[Switching Transaction Modes] |
| BEGIN PESSIMISTIC | 8:25.[Switching Transaction Modes] | BETWEEN... AND operation | 2:08.[Filtering by Numerical Values] |
| BINARY DATA TYPE | 3:23.[Binary And Variable Binaries] | BIT Data Type | 3:11.[Bit Data Types] |
| BLOB DATA TYPE | 3:24.[Binary Large Object Data Types] | Batch DML best practices | 10-Java:15.[Using Batch Processing] |
| Best scenarios for TiDB | 12:04.[Best Scenarios For Tidb] | Boolean expression | 3:12.[Boolean Expression] |
| CANCAT_WS function | 4:13.[Inverse, Concate] | CASE expression | 4:45.[CASE Expressions] |
| CAST function | 3:31.[Cast Function] | CAUSAL CONSISTENCY ONLY | 8:19.[Causal Consistency Transaction] |
| CBO | 7:45.[Engine Smart Selection] | CEILING function | 4:36.[Basic Arithmetic Functions] |
| CHAR data type | 3:20.[Fixed-Length And Variable-Length String] | CHAR_LENGTH function | 4:21.[Determining String Length] |
| CLUSTERED PRIMARY KEY | 7:26.[Primary Key And Index] | COLLATE Clause | 7:07.[Collate Clause] |
| CONCAT function | 4:13.[Inverse, Concate]; 5:16.[Self Join] | CONVERT_TZ function | 4:33.[Converting Timezones] |
| CURDATE function | 4:28.[Date And Time Function] | CURTIME function | 4:28.[Date And Time Function] |
| Cached Table | 7:39.[Cached Tables] | Cartesian Product | 5:05.[Cartesian Product]; 5:16.[Self Join] |
| Comparative time data types | 3:15.[Time Data Type Comparison] | Comparing Integer Data Types | 3:06.[Integer Data Types] |
| Comparing floating-point data types | 3:09.[Floating-Point Data Type Comparison] | Comparing string data types | 3:27.[String Data Type Comparison] |
| Composite Index | 7:28.[Composite Primary Key] | Connection pooling benefits | 9-Java:16.[Introduction To Connection Pooling] |
| DATE data type | 3:14.[Temporal Data Types] | DATEDIFF function | 4:32.[Compare Dates] |
| DATETIME According to Type | 3:14.[Temporal Data Types] | DATE_ADD function | 4:29.[Date And Time Arithmetic] |
| DATE_FORMAT function | 4:30.[Format A Date As A String] | DATE_SUB function | 4:29.[Date And Time Arithmetic] |
| DAYNAME function | 4:28.[Date And Time Function] | DAYOFYEAR function | 4:28.[Date And Time Function] |
| DECIMAL data type | 3:07.[Fixed-Point Data Types] | DELETE syntax | 8:11.[DELETE Statement] |
| DESC | 2:05.[Sample Database: Universe] | DISTINCT | 2:06.[Projection] |
| DOUBLE DATA TYPE | 3:08.[Float Data Types] | Data Compliance and Placement Policy | 7:37.[Placement Policy Constraints] |
| Date and time format | 4:27.[Date And Time Format]; 4:30.[Format A Date As A String] | Definition of NULL | 3:33.[NULL] |
| Dirty Read | 8:21.[Dirty Read] | Distributed SQL | 1:12.[Distributed  SQL Operations] |
| DriverManager.getConnection | 9-Java:10.[Get Connector/J Connection Object: Example] | ENUM Data Type | 3:26.[Enumeration And Collection Types] |
| ERROR_FOR_DIVISION_BY_ZERO SQL mode | 11-Java:08.[Other Important Sql Modes] | ERROR_FOR_DIVISION_BY_ZERO SQL mode schema | 4:05.[Using Function]; 4:06.[ERROR_FOR_DIVISION_BY_ZERO] |
| EXCEPT | 5:11.[Other Set Operations] | EXISTS | 6:10.[IN And  EXISTS]; 6:11.[IN And  EXISTS  Examples] |
| Engine Smart Selection | 7:45.[Engine Smart Selection] | Ensure result order | 12:09.[Ensure The Order Of Returned Results] |
| ErrorCode | 11-Java:10.[Interpreting Error Messages]; 11-Java:11.[Handling Errors When Using Connector]; 11-Java:12.[SQLException Class]; 11-Java:13.[SQLException: Example] | Execute SQL statements using Java | 9-Java:12.[Execute Sql Statements Using Java] |
| FLASHBACK TABLE | 7:10.[Flashback Operation] | FLOAT data type | 3:08.[Float Data Types] |
| FLOOR function | 4:36.[Basic Arithmetic Functions] | FOREIGN KEY | 7:30.[Foreign Key] |
| Flashback Query | 4:34.[Flashback Query] | Floating-point approximation literal | 3:10.[Numeric Literal] |
| Fundamentals of functions | 4:04.[Function In Tidb Expressions]; 4:05.[Using Function] | GET_FORMAT function | 4:30.[Format A Date As A String] |
| GLOBAL TEMPORARY TABLE | 7:21.[Global Temporary Tables]; 7:22.[Global Temporary Tables (Continue...)] | GROUP BY operation | 4:40.[GROUP BY Clause]; 4:41.[GROUP BY And  HAVING] |
| GROUP_CONCAT function | 4:39.[Aggregate Functions] | HAVING clause | 4:41.[GROUP BY And  HAVING] |
| HOUR function | 4:28.[Date And Time Function] | Handling duplicated PK | 8:10.[Duplicate Row Errors] |
| Hash Partition | 7:42.[Hash Partitioned Table] | IF function | 4:47.[IF Function] |
| IFNULL function | 4:46.[NULLIF And  IFNULL] | IN | 6:10.[IN And  EXISTS]; 6:11.[IN And  EXISTS  Examples] |
| INNER JOIN | 5:06.[INNER JOIN]; 5:13.[Join Example]; 5:14.[Join Example (Continue...)] | INSERT IGNORE | 8:05.[INSERT Statement] |
| INSERT function | 4:20.[Inserting And Replacing Parts Of A String] | INSERT syntax | 8:05.[INSERT Statement] |
| INSTR function | 4:12.[Find A String In A String] | INTERSECT | 5:11.[Other Set Operations] |
| INTERVAL | 3:17.[Interval Keyword] | INTERVAL function | 4:29.[Date And Time Arithmetic] |
| Implementation Plan | 2:15.[Try To Read the Execution Plan] | Implicit Commit | 8:17.[Implicit Commit] |
| Indexing best practices | 12:06.[Best Practices For Secondary Indexes] | JDBC best practices | 12:11.[Best Practices For Developing Java Applications] |
| JDBC configurations recommendation | 12:15.[Jdbc Configuration Recommendation] | LAST_INSERT_ID | 10-Java:14.[Auto Generated IDs And Connector/J: Example] |
| LCASE function | 4:10.[Case Conversion] | LEFT function | 4:16.[LEFT, RIGHT, LPAD, RPAD] |
| LENGTH function | 4:21.[Determining String Length] | LIKE operation | 2:10.[Filtering by String Values: LIKE Operator]; 2:11.[ESCAPE Character in LIKE]; 4:22.[Match String Pattern:  LIKE] |
| LIMIT clause | 2:13.[Control The Number of Rows Returned By A Query]; 2:17.[Optimize Offset Operation]; 2:18.[KeySet Seeker Operation]; 2:19.[Paginating Top-30 Terrestrial Planets by Mass with pagesize 10]; 2:20.[Paginating Top-30 Terrestrial Planets by Mass with pagesize 10 (Continue...)]; 2:21.[Offset Operation Cost]; 2:22.[Keyset Seeker Operation Cost]; 8:07.[Using LIMIT in UPDATE]; 8:08.[Using ORDER BY and LIMIT in UPDATE] | LOCAL TEMPORARY TABLE | 7:19.[Local Temporary Tables]; 7:20.[Local Temporary Tables (Continue...)] |
| LOCATE function | 4:12.[Find A String In A String] | LONGTEXT data type | 3:21.[Text Data Types] |
| LOWER function | 4:10.[Case Conversion] | LPAD function | 4:16.[LEFT, RIGHT, LPAD, RPAD] |
| LTRIM function | 4:19.[TRIM, LTRIM, RTRIM : Trim String] | MAKEDATE function | 4:31.[Creating Date] |
| MAKETIME function | 4:31.[Creating Date] | MEDIUMTEXT data type | 3:21.[Text Data Types] |
| MICROSECOND function | 4:28.[Date And Time Function] | MINUTE function | 4:28.[Date And Time Function] |
| MONTHNAME function | 4:28.[Date And Time Function] | MVCC | 1:11.[Multi-Versioning Of  KV And Records] |
| Multi Raft Group | 1:10.[KV And Storage] | Multi-table JOIN | 5:17.[Join Example (Continue...)] |
| NONCLUSTERED PRIMARY KEY | 7:26.[Primary Key And Index] | NOW function | 4:28.[Date And Time Function] |
| NO_ENGINE_SUBSTITUTION SQL mode | 11-Java:08.[Other Important Sql Modes] | NO_ZERO_DATE SQL mode | 11-Java:08.[Other Important Sql Modes] |
| NULL Behavior | 3:33.[NULL]; 4:14.[Handling NULL]; 5:08.[OUTER JOIN And NULL] | NULL in SQL statements | 9-Java:18.[Handling Null Values In Sql Statements] |
| NULL in result sets | 9-Java:19.[Processing Null In The Result Set] | NULLIF function | 4:46.[NULLIF And  IFNULL] |
| Non-Repeatable Read | 8:22.[Non-Repeatable Read] | ON DUPLICATE KEY UPDATE | 8:10.[Duplicate Row Errors] |
| ONLY_FULL_GROUP_BY SQL mode | 11-Java:08.[Other Important Sql Modes] | ONLY_FULL_GROUP_BY SQL mode pattern | 4:40.[GROUP BY Clause] |
| ORACLE SQL mode | 11-Java:08.[Other Important Sql Modes] | ORACLE SQL mode schema | 4:19.[TRIM, LTRIM, RTRIM : Trim String] |
| ORDER BY clause | 2:12.[Sorts] | OUTER JOIN | 5:07.[OUTER JOIN]; 5:15.[Join Example (Continue...)] |
| Online DDL | 7:23.[Tidb Online Ddl] | Optimistic locking | 8:25.[Switching Transaction Modes] |
| Optimize LIMIT offset operation | 2:17.[Optimize Offset Operation]; 2:18.[KeySet Seeker Operation]; 2:19.[Paginating Top-30 Terrestrial Planets by Mass with pagesize 10]; 2:20.[Paginating Top-30 Terrestrial Planets by Mass with pagesize 10 (Continue...)]; 2:21.[Offset Operation Cost]; 2:22.[Keyset Seeker Operation Cost] | PD Server | 1:05.[Overall Architecture Of  TiDB Distributed Database] |
| PIPES_AS_CONCAT SQL mode schema | 4:15.[Joining Strings Using The Piping Operator] | PK_AUTO_RANDOM_BITS | 7:14.[Auto_Random] |
| POSITION function | 4:12.[Find A String In A String] | PREPARE | 8:27.[Prepared Statement] |
| Partitioned Table | 7:40.[Partitioned Table] | Pessimistic locking | 8:25.[Switching Transaction Modes] |
| Phantom Read | 8:23.[Phantom Read] | Prepared Statement | 10-Java:04.[Why Should I Use Prepared Statements]; 8:27.[Prepared Statement] |
| RANK function | 4:42.[Window Functions] | READ COMMITTED | 8:24.[Tidb Transaction Isolation Level] |
| REGEXP operation | 4:23.[Match String Pattern:  RLIKE]; 4:24.[Regular Expression Compound Pattern Example] | REPEATABLE READ | 8:24.[Tidb Transaction Isolation Level] |
| REPLACE | 8:09.[REPLACE Statement] | REPLACE function | 4:20.[Inserting And Replacing Parts Of A String] |
| RETURN_GENERATED_KEYS | 10-Java:14.[Auto Generated IDs And Connector/J: Example] | REVERSE function | 4:13.[Inverse, Concate] |
| RIGHT function | 4:16.[LEFT, RIGHT, LPAD, RPAD] | RLIKE operation | 4:23.[Match String Pattern:  RLIKE]; 4:24.[Regular Expression Compound Pattern Example] |
| ROUND function | 4:36.[Basic Arithmetic Functions] | RPAD function | 4:16.[LEFT, RIGHT, LPAD, RPAD] |
| RTRIM function | 4:19.[TRIM, LTRIM, RTRIM : Trim String] | Range Partition | 7:41.[Range Partitioned Table] |
| RocksDB | 1:10.[KV And Storage] | Row to KB mapping | 1:07.[Table Rows Map To  KV] |
| SECOND function | 4:28.[Date And Time Function] | SELECT Basic Syntax | 2:04.[Select Basic Syntax] |
| SEMI JOIN | 6:11.[IN And  EXISTS  Examples] | SET DATA TYPE | 3:26.[Enumeration And Collection Types] |
| SHARD_ROW_ID_BITS | 7:15.[Table Options] | SHOW ERRORS | 11-Java:09.[Show Warnings And Errors] |
| SHOW WARNINGS | 11-Java:09.[Show Warnings And Errors] | SIGN function | 4:36.[Basic Arithmetic Functions] |
| SQL Injection | 8:26.[Dynamic Statements And Sql Injections] | SQLException | 11-Java:11.[Handling Errors When Using Connector]; 11-Java:12.[SQLException Class]; 11-Java:13.[SQLException: Example] |
| SQLSTATE | 11-Java:10.[Interpreting Error Messages]; 11-Java:11.[Handling Errors When Using Connector]; 11-Java:12.[SQLException Class]; 11-Java:13.[SQLException: Example] | SQL_MODE | 11-Java:04.[Sql Mode]; 11-Java:05.[Showing Sql Mode]; 11-Java:06.[Set The Sql Mode] |
| START TRANSACTION | 8:16.[Transaction Control Statements] | STRCMP function | 4:11.[Comparing String] |
| STRICT_ALL_TABLES | 11-Java:07.[Strict Mode] | STRICT_TRANS_TABLES | 11-Java:07.[Strict Mode] |
| STR_TO_DATE function | 4:31.[Creating Date] | SUBSTRING function | 4:17.[SUBSTRING Retrieves Part Of A String] |
| SUBSTRING_INDEX function | 4:18.[SUBSTRING_INDEX] | Secondary Index | 7:31.[Secondary Index]; 7:32.[Secondary Index (Continue...)] |
| Shared Everything Architecture Weakness | 1:15.[Scaling Out Non-Distributed  RDBMS Attempt A: Multi Nodes Shared Storage Architecture] | Simple subquery | 6:05.[Advantages Of Subquery] |
| Stale Read | 4:34.[Flashback Query]; 7:36.[Stale Read] | Stateful Components | 1:05.[Overall Architecture Of  TiDB Distributed Database] |
| Stateless Components | 1:05.[Overall Architecture Of  TiDB Distributed Database] | StreamingResult | 12:14.[Using Streamingresult For Large Result Sets] |
| Strict SQL mode | 11-Java:07.[Strict Mode] | Subquery definition | 6:04.[Introduction To Subquery] |
| TEXT data type | 3:21.[Text Data Types] | TIDB_BOUNDED_STALENESS function | 7:36.[Stale Read] |
| TIME According to Type | 3:14.[Temporal Data Types] | TIMESTAMP data type | 3:14.[Temporal Data Types] |
| TINYTEXT data type | 3:21.[Text Data Types] | TRANDITIONAL SQL mode | 11-Java:08.[Other Important Sql Modes] |
| TRIM function | 4:19.[TRIM, LTRIM, RTRIM : Trim String] | TRUNCATE | 8:12.[TRUNCATE Statement] |
| TRUNCATE function | 4:36.[Basic Arithmetic Functions] | TSO | 1:05.[Overall Architecture Of  TiDB Distributed Database] |
| Table Partition and Placement Policy | 7:37.[Placement Policy Constraints] | Table and Placement Policy | 7:34.[Cross geo-location Database Region Placement Policy]; 7:35.[Create Placement Policy] |
| The role of aggregate functions | 4:39.[Aggregate Functions]; 4:40.[GROUP BY Clause] | TiDB Server | 1:05.[Overall Architecture Of  TiDB Distributed Database] |
| TiDB Server Modules | 1:08.[Modules in TiDB Server] | TiDB architecture advantages | 1:14.[Architectures Comparison] |
| TiFlash | 7:44.[Main Features Of Tiflash]; 7:45.[Engine Smart Selection] | TiKV Region | 1:10.[KV And Storage] |
| TiKV Server | 1:05.[Overall Architecture Of  TiDB Distributed Database] | TiKV expression push down down | 4:48.[Expression Push Down] |
| Top-N Analysis | 2:16.[Query Results Paginating]; 5:14.[Join Example (Continue...)] | Traditional Database Sharding Weakness | 1:16.[Non-Distributed RDBMS Scale-Out Attempt B: Database Sharding] |
| Transaction Control | 8:16.[Transaction Control Statements]; 8:18.[Transaction Control Statement Demo] | Transaction Isolation Level | 8:24.[Tidb Transaction Isolation Level] |
| Transactions best practices on TiDB | 12:05.[Transactions Best Practices on TiDB] | Types of functions | 4:07.[Types Of Function] |
| UCASE function | 4:10.[Case Conversion] | UNION | 5:09.[UNION]; 5:10.[Union Example] |
| UNIQUE KEY | 7:29.[Unique Keys And Indexes] | UPDATE syntax | 8:06.[UPDATE Statement] |
| UPPER function | 4:10.[Case Conversion] | Use Java to control transactions | 9-Java:15.[Typical Workflow for Using Transaction] |
| User defined variable | 8:27.[Prepared Statement] | VARBINARY data type | 3:23.[Binary And Variable Binaries] |
| VARCHAR DATA TYPE | 3:20.[Fixed-Length And Variable-Length String] | WITH Clause | 6:12.[WITH Clause] |
| Where subquery are available | 6:06.[Where To Place The Subquery]; 6:07.[Subquery Placement Example]; 6:08.[Used For  Join] | Window functions | 4:42.[Window Functions] |
| YEAR According to Type | 3:14.[Temporal Data Types] | YEAR function | 4:28.[Date And Time Function] |
| \G | 2:14.[Tips] | _tidb_rowid | 7:26.[Primary Key And Index] |
| as keyword | 2:06.[Projection] | auto_increment_increment | 7:13.[Auto_Increment Attribute] |
| auto_increment_offset | 7:13.[Auto_Increment Attribute] | character set | 3:29.[Character Sets And Collation]; 7:06.[Character Sets And Collation] |
| collation | 3:29.[Character Sets And Collation]; 7:06.[Character Sets And Collation] | executeQuery | 9-Java:14.[executeQuery (): Example] |
| executeUpdate | 9-Java:13.[executeUpdate(): Example] | lower_case_table_names | 7:05.[Create Schema/Database] |
| pager less -S | 2:14.[Tips] | paginating | 2:16.[Query Results Paginating] |
| regular expression | 4:23.[Match String Pattern:  RLIKE]; 4:24.[Regular Expression Compound Pattern Example] | rewriteBatchedStatements | 10-Java:15.[Using Batch Processing]; 12:13.[Use Batch To Insert In Batches] |
| tidb_allow_remove_auto_inc | 7:13.[Auto_Increment Attribute] | tidb_replica_read | 7:36.[Stale Read] |
| time zone | 3:16.[Timestamps And Time Zones] | useCurosrFetch | 12:14.[Using Streamingresult For Large Result Sets] |
| useServerPrepStmts | 10-Java:13.[Prepared Statements And Connector/J: Example]; 12:12.[Using The Prepared Statement Api]