- Introduction
- Concepts
- Architecture
- Key Features
- Horizontal Scalability
- MySQL Compatible Syntax
- Replicate from and to MySQL
- Distributed Transactions with Strong Consistency
- Cloud Native Architecture
- Minimize ETL with HTAP
- Fault Tolerance & Recovery with Raft
- Automatic Rebalancing
- Deployment and Orchestration with Ansible, Kubernetes, Docker
- JSON Support
- Spark Integration
- Read Historical Data Without Restoring from Backup
- Fast Import and Restore of Data
- Hybrid of Column and Row Storage
- SQL Plan Management
- Open Source
- Online Schema Changes
- How-to
- Get Started
- Deploy
- Hardware Recommendations
- From Binary Tarball
- Orchestrated Deployment
- Geographic Redundancy
- Data Migration with Ansible
- Configure
- Secure
- Transport Layer Security (TLS)
- Generate Self-signed Certificates
- Monitor
- Migrate
- Maintain
- Common Ansible Operations
- Backup and Restore
- Use BR (recommended)
- Identify Abnormal Queries
- Scale
- Upgrade
- Troubleshoot
- Reference
- SQL
- MySQL Compatibility
- SQL Language Structure
- Attributes
- Data Types
- Functions and Operators
- Function and Operator Reference
- Type Conversion in Expression Evaluation
- Operators
- Control Flow Functions
- String Functions
- Numeric Functions and Operators
- Date and Time Functions
- Bit Functions and Operators
- Cast Functions and Operators
- Encryption and Compression Functions
- Information Functions
- JSON Functions
- Aggregate (GROUP BY) Functions
- Window Functions
- Miscellaneous Functions
- Precision Math
- List of Expressions for Pushdown
- SQL Statements
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ALTER DATABASE
ALTER INSTANCE
ALTER TABLE
ALTER USER
ANALYZE TABLE
BEGIN
CHANGE COLUMN
COMMIT
CREATE DATABASE
CREATE INDEX
CREATE ROLE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP ROLE
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW ANALYZE STATUS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEXES [FROM|IN]
SHOW INDEX [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW SCHEMAS
SHOW STATUS
SHOW [FULL] TABLES
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SPLIT REGION
START TRANSACTION
TRACE
TRUNCATE
UPDATE
USE
- Constraints
- Generated Columns
- Partitioning
- Character Set
- SQL Mode
- Views
- Configuration
- Security
- Transactions
- System Databases
- Errors Codes
- Supported Client Drivers
- Garbage Collection (GC)
- Performance
- Overview
- Understanding the Query Execution Plan
- The Blocklist of Optimization Rules and Expression Pushdown
- Introduction to Statistics
- TopN and Limit Push Down
- Optimizer Hints
- Follower Read
- Check the TiDB Cluster Status Using SQL Statements
- Execution Plan Binding
- Statement Summary Table
- Tune TiKV
- Operating System Tuning
- Column Pruning
- Key Monitoring Metrics
- Alert Rules
- Best Practices
- TiSpark
- TiKV
- TiFlash
- TiDB Binlog
- Tools
- Overview
- Use Cases
- Download
- TiDB Operator
- Table Filter
- Backup & Restore (BR)
- Mydumper
- Syncer
- Loader
- Data Migration
- TiDB Lightning
- sync-diff-inspector
- PD Control
- PD Recover
- TiKV Control
- TiDB Control
- TiDB in Kubernetes
- FAQs
- Support
- Contribute
- Releases
- All Releases
- v3.1
- v3.0
- v2.1
- v2.0
- v1.0
- Glossary
Important
You are viewing the documentation of an older version of the TiDB database (TiDB v3.1).
It is recommended that you use the latest LTS version of the TiDB database.
TiDB 3.0.0-rc.2 Release Notes
Release date: May 28, 2019
TiDB version: 3.0.0-rc.2
TiDB Ansible version: 3.0.0-rc.2
Overview
On May 28, 2019, TiDB 3.0.0-rc.2 is released. The corresponding TiDB Ansible version is 3.0.0-rc.2. Compared with TiDB 3.0.0-rc.1, this release has greatly improved the stability, usability, features, the SQL optimizer, statistics, and the execution engine.
TiDB
SQL Optimizer
- Support Index Join in more scenarios #10540
- Support exporting historical statistics #10291
- Support the incremental
Analyze
operation on monotonically increasing index columns #10355 - Neglect the NULL value in the
Order By
clause #10488 - Fix the wrong schema information calculation of the
UnionAll
logical operator when simplifying the column information #10384 - Avoid modifying the original expression when pushing down the
Not
operator #10363 - Support the
dump
/load
correlation of histograms #10573
Execution Engine
- Handle virtual columns with a unique index properly when fetching duplicate rows in
batchChecker
#10370 - Fix the scanning range calculation issue for the
CHAR
column #10124 - Fix the issue of
PointGet
incorrectly processing negative numbers #10113 - Merge
Window
functions with the same name to improve execution efficiency #9866 - Allow the
RANGE
frame in aWindow
function to contain noOrderBy
clause #10496
- Handle virtual columns with a unique index properly when fetching duplicate rows in
Server
- Fix the issue that TiDB continuously creates a new connection to TiKV when a fault occurs in TiKV #10301
- Make
tidb_disable_txn_auto_retry
affect all retryable errors instead of only write conflict errors #10339 - Allow DDL statements without parameters to be executed using
prepare
/execute
#10144 - Add the
tidb_back_off_weight
variable to control the backoff time #10266 - Prohibit TiDB retrying non-automatically committed transactions in default conditions by setting the default value of
tidb_disable_txn_auto_retry
toon
#10266 - Fix the database privilege judgment of
role
inRBAC
#10261 - Support the pessimistic transaction model (experimental) #10297
- Reduce the wait time for handling lock conflicts in some cases #10006
- Make the Region cache able to visit follower nodes when a fault occurs in the leader node #10256
- Add the
tidb_low_resolution_tso
variable to control the number of TSOs obtained in batches and reduce the times of transactions obtaining TSO to adapt for scenarios where data consistency is not so strictly required #10428
DDL
- Fix the uppercase issue of the charset name in the storage of the old version of TiDB #10272
- Support
preSplit
of table partition, which pre-allocates table Regions when creating a table to avoid write hotspots after the table is created #10221 - Fix the issue that TiDB incorrectly updates the version information in PD in some cases #10324
- Support modifying the charset and collation using the
ALTER DATABASE
statement #10393 - Support splitting Regions based on the index and range of the specified table to relieve hotspot issues #10203
- Prohibit modifying the precision of the decimal column using the
alter table
statement #10433 - Fix the restriction for expressions and functions in hash partition #10273
- Fix the issue that adding indexes in a table that contains partitions will in some cases cause TiDB panic #10475
- Validate table information before executing the DDL to avoid invalid table schemas #10464
- Enable hash partition by default; and enable range columns partition when there is only one column in the partition definition #9936
PD
- Enable the Region storage by default to store the Region metadata #1524
- Fix the issue that hot Region scheduling is preempted by another scheduler #1522
- Fix the issue that the priority for the leader does not take effect #1533
- Add the gRPC interface for
ScanRegions
#1535 - Push operators actively #1536
- Add the store limit mechanism for separately controlling the speed of operators for each store #1474
- Fix the issue of inconsistent
Config
status #1476
TiKV
Engine
- Support multiple column families sharing a block cache #4563
Server
Raftstore
- Support hibernate Regions to reduce the consumption of the raftstore CPU #4591
- Fix the issue that the leader does not reply to the
ReadIndex
requests for the learner #4653 - Fix transferring leader failures in some cases #4684
- Fix the dirty read issue in some cases #4688
- Fix the issue that a snapshot may lose applied data in some cases #4716
Coprocessor
- Add more RPN functions
LogicalOr
#4691LTReal
#4602LEReal
#4602GTReal
#4602GEReal
#4602NEReal
#4602EQReal
#4602IsNull
#4720IsTrue
#4720IsFalse
#4720- Support comparison arithmetic for
Int
#4625 - Support comparison arithmetic for
Decimal
#4625 - Support comparison arithmetic for
String
#4625 - Support comparison arithmetic for
Time
#4625 - Support comparison arithmetic for
Duration
#4625 - Support comparison arithmetic for
Json
#4625 - Support plus arithmetic for
Int
#4733 - Support plus arithmetic for
Real
#4733 - Support plus arithmetic for
Decimal
#4733 - Support MOD functions for
Int
#4727 - Support MOD functions for
Real
#4727 - Support MOD functions for
Decimal
#4727 - Support minus arithmetic for
Int
#4746 - Support minus arithmetic for
Real
#4746 - Support minus arithmetic for
Decimal
#4746
- Add more RPN functions
Tools
TiDB Binlog
- Add a metric to track the delay of data replication downstream #594
TiDB Lightning
Was this page helpful?