华为云用户手册
-
使用示例 HASH-RANGE类型的使用示例 CREATE TABLE tbl_hash_range( col1 INT, col2 INT, col3 varchar(20), col4 DATE)PARTITION BY HASH(col1)SUBPARTITION BY RANGE(col2)( PARTITION p0 ( SUBPARTITION s0 VALUES LESS THAN(4), SUBPARTITION s1 VALUES LESS THAN(7), SUBPARTITION s2 VALUES LESS THAN(10), SUBPARTITION s3 VALUES LESS THAN(13) ), PARTITION p1 ( SUBPARTITION s4 VALUES LESS THAN(4), SUBPARTITION s5 VALUES LESS THAN(7), SUBPARTITION s6 VALUES LESS THAN(10), SUBPARTITION s7 VALUES LESS THAN(13) ), PARTITION p2 ( SUBPARTITION s8 VALUES LESS THAN(4), SUBPARTITION s9 VALUES LESS THAN(7), SUBPARTITION s10 VALUES LESS THAN(10), SUBPARTITION s11 VALUES LESS THAN(13) ));
-
参数说明 您可以先使用“rds_nonblock_ddl_enable”参数开启非阻塞DDL功能,然后通过“rds_nonblock_ddl_retry_times”参数设置获取MDL-X锁超时重试的次数,“rds_nonblock_ddl_retry_interval”参数设置获取MDL-X锁超时重试的时间间隔,“rds_nonblock_ddl_lock_wait_timeout”参数设置获取MDL-X锁超时的时间。
-
使用方法 使用SysBench创建1个测试表sbtest1, 并插入1000000行数据。 ./oltp_read_write.lua --mysql-host="集群地址" --mysql-port="端口号" --mysql-user="用户名" --mysql-password="用户密码" --mysql-db="sbtest" --tables=1 --table-size=1000000 --report-interval=1 --percentile=99 --threads=8 --time=6000 prepare 通过SysBench中的oltp_read_write.lua模拟用户业务。 ./oltp_read_write.lua --mysql-host="集群地址" --mysql-port="端口号" --mysql-user="用户名" --mysql-password="用户密码" --mysql-db="sbtest" --tables=1 --table-size=1000000 --report-interval=1 --percentile=99 --threads=8 --time=6000 run 在目标表sbtest1 上开启一个新事务但不提交,该事务持有目标表sbtest1的MDL锁。 begin;select * from sbtest1; 开启一个新会话,在开启和关闭非阻塞 DDL功能的条件下,分别对表sbtest1进行加列操作,观察TPS的变化情况。 alter table sbtest1 add column d int; 测试结果。 关闭非阻塞DDL, TPS持续跌零。默认超时时间为31536000秒,严重影响用户业务。 开启非阻塞DDL, TPS周期性下降,但未跌零,对用户业务影响较小。
-
语法 创建一个或多个KEY-RANGE分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] KEY (column_list) SUBPARTITION BY RANGE {(expr) | COLUMNS(column_list)} (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name VALUES LESS THAN {value | value_list | MAXVALUE} 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 column_list RANGE COLUMNS的情况下使用,分区字段列表,不支持表达式。 value 分区边界值。 value_list LIST COLUMNS的情况下使用,多个字段的边界值。 MAXVALUE 最大值。 partition_name subpartition_name 分区名称,同一个表中不可重复。 子分区名称,同一个表中不可重复。
-
语法 创建一个或多个LIST-RANGE分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY LIST {(expr) | COLUMNS(column_list)} SUBPARTITION BY RANGE {(expr) | COLUMNS(column_list)} (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name VALUES IN (value_list) (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name VALUES LESS THAN {value | value_list | MAXVALUE} 表1 参数说明 参数名称 描述 expr 分区字段表达式。目前只支持INT类型,不支持字符类型。 column_list LIST COLUMNS的情况下使用,分区字段列表,不支持表达式。 value 分区边界值。 value_list LIST COLUMNS的情况下使用,多个字段的边界值。 MAXVALUE 最大值。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称, 同一个表中不可重复。
-
使用示例 LIST-RANGE类型的使用示例 CREATE TABLE tbl_list_range( col1 INT, col2 INT, col3 varchar(20), col4 DATE)PARTITION BY LIST (col1)SUBPARTITION BY RANGE(col2)( PARTITION p0 VALUES in (1, 2)( SUBPARTITION s0 VALUES LESS THAN(1000), SUBPARTITION s1 VALUES LESS THAN(2000) ), PARTITION p1 VALUES in (3, 4)( SUBPARTITION s2 VALUES LESS THAN(1000), SUBPARTITION s3 VALUES LESS THAN(MAXVALUE) ), PARTITION p2 VALUES in (5, 6)( SUBPARTITION s4 VALUES LESS THAN(3000), SUBPARTITION s5 VALUES LESS THAN(MAXVALUE) )); LIST COLUMNS-RANGE类型的使用示例 CREATE TABLE tbl_list_columns_range( col1 INT, col2 INT, col3 varchar(20), col4 DATE)PARTITION BY LIST COLUMNS(col3)SUBPARTITION BY RANGE(month(col4))( PARTITION europe VALUES in ('FRANCE', 'ITALY')( SUBPARTITION q1_2012 VALUES LESS THAN(4), SUBPARTITION q2_2012 VALUES LESS THAN(7) ), PARTITION asia VALUES in ('INDIA', 'PAKISTAN')( SUBPARTITION q1_2013 VALUES LESS THAN(4), SUBPARTITION q2_2013 VALUES LESS THAN(7) ), PARTITION americas VALUES in ('US', 'CANADA')( SUBPARTITION q1_2014 VALUES LESS THAN(4), SUBPARTITION q2_2014 VALUES LESS THAN(7) ));
-
使用示例 KEY-RANGE类型的使用示例 CREATE TABLE tbl_key_range( col1 INT, col2 INT, col3 varchar(20), col4 DATE)PARTITION BY KEY(col1) SUBPARTITION BY RANGE COLUMNS(col4)( PARTITION p0( SUBPARTITION p0_q1_2023 VALUES LESS THAN('2023-04-01'), SUBPARTITION p0_q2_2023 VALUES LESS THAN('2023-07-01'), SUBPARTITION p0_q3_2023 VALUES LESS THAN('2023-10-01'), SUBPARTITION p0_q4_2023 VALUES LESS THAN('2024-01-01') ), PARTITION p1( SUBPARTITION p1_q1_2023 VALUES LESS THAN('2023-04-01'), SUBPARTITION p1_q2_2023 VALUES LESS THAN('2023-07-01'), SUBPARTITION p1_q3_2023 VALUES LESS THAN('2023-10-01'), SUBPARTITION p1_q4_2023 VALUES LESS THAN('2024-01-01') ), PARTITION p2( SUBPARTITION p2_q1_2023 VALUES LESS THAN('2023-04-01'), SUBPARTITION p2_q2_2023 VALUES LESS THAN('2023-07-01'), SUBPARTITION p2_q3_2023 VALUES LESS THAN('2023-10-01'), SUBPARTITION p2_q4_2023 VALUES LESS THAN('2024-01-01') ));
-
2.0.28.15 表11 2.0.28.15版本说明 日期 特性描述 2023-01-11 新特性 支持SQL限流。 读流控优化。 主备执行计划一致优化。 slice异步预创建。 问题修复 修复系统变量INNODB_VALIDATE_TABLESPACE_PATHS关闭情况下undo space truncate的时候出现的crash问题。 修复查询information_schema.innodb_trx较慢问题。 修复查询结果不一致的问题:left joins没有转化为inner joins。 修复优化子查询的过程中导致的crash问题。 修复并发instantDDL和DML场景下未按实际获取instant字段值的问题。 修复当load有FTS索引的两个INNODB表时可能导致OOM的问题。 修复更新百万级别的表的数据字典可能导致OOM的问题。
-
2.0.42.230600 表6 2.0.42.230600内核版本说明 日期 特性描述 2023-08-31 新增功能和性能优化: 优化全量与增量备份放到备库进行,减少主机内存/CPU占用。 优化UNDO损坏场景的快速定位:启动undo损坏时,明确打印出undo损坏和对应表名称。 优化备机查询性能劣后于主库问题。 优化in-list转临时表。 NDP特性规模商用。 用Statement Outline方法稳定执行计划。 PQ特性支持Round函数。 问题修复: 修复快速排序和优先级队列排序算法不稳定导致ORDER BY LIMIT与ORDER LIMIT结果集有重合的问题。 修复PQ语句极小概率情况返回错误结果的问题。 修复部分场景PREPARE语句执行报错的问题。 修复部分场景UNION查询上的PQ断言错误的问题。 修复实例主节点INSERT大数据量的时候只读升主,升主成功后用全文索引查询的结果不准确的问题。 修复备机使用general_log和slow_log表打印warning日志的问题。 修复部分场景设置锁等待时间参数innodb_lock_wait_timeout后,实际超时等待时间不一致的问题。 修复只读升主过程中,小概率出现Failed to find page in slice manager导致升主失败的问题。 修复salsql日志pwal扫描进度percentage值大于100%的问题。 修复执行sqlsmith工具, 查询语句在explain阶段偶现mysqld coredump。 修复SELECT DISTINCT + CAST函数转换datetime类型为float类型时,结果不正确的问题。
-
2.0.39.230300 表7 2.0.39.230300版本说明 日期 特性描述 2023-05-11 新特性及优化: 支持小规格实例。 备机DDL失效方案优化。 SALSQL使用空间容量计算优化。 支持对单个SQL语句使用资源进行限制。 支持admin port和local socket使用per thread。 pwalScanner内存优化。 支持修改default_collation_for_utf8mb4参数。 支持大事务检测能力。 支持Kill idle transactions。 优化增量恢复速度。 新增数据库描述和账号描述。 支持buffer pool resize加速。 问题修复: 修复Ptrc可能会导致Nestedloop join的结果不一致问题。 修复使用windows函数进行排序的子查询可能会导致crash问题。 修复使用rewrites view时,如果评估可能会把left joins转化为inner joins问题。 修复指定过滤条件的decimal类型的数据不返回结果问题。 修复内存非对齐问题。 修复全量日志中记录scan_row不准确问题。
-
2.0.28.9 表14 2.0.28.9版本说明 日期 特性描述 2022-09-23 修复在Condition_pushdown::replace_columns_in_cond中使用不正确的条件判断的问题。 修复递归调用存储函数之后导致数据库崩溃的问题。 修改多表删除和full-text搜索的时候导致数据库崩溃的问题; 修复运行多个窗口函数的SQL查询语句之后导致数据库崩溃的问题; 修复具有全局级别权限的用户,执行SHOW CREATE DATABASE失败的问题。
-
2.0.31.220700 表18 2.0.31.220700版本说明 日期 特性描述 2022-08-12 新特性及性能优化 支持SQL限流。 新增FasterDDL并行数限制。 支持Faster DDL的所有ROW格式。 扩展全量SQL字段。 优化流量控制。 支持ALTER TABLE快速超时。 支持Query plan cache。 备机统计信息优化。 问题修复 修复主机rename partition-table之后备机crash的问题。 修改sql tracer的默认buffer size。 修复备机truncate lsn落后很多情况下备机拉起失败的问题。 修复含有多个相同范围的SQL查询导致的执行计划错误的问题。 修复空账户导致的crash的问题。 修复drop database可能导致的crash的问题。
-
2.0.51.240300 表3 2.0.51.240300内核版本说明 日期 特性描述 2024-03-30 新增功能和性能优化: 支持高性能全局一致性,在较低的性能损耗下,提供集群维度的强一致性读能力。 新增show binary logs no block语法,优化在show binary logs过程中对事务提交的阻塞情况。 提供undo truncate能力,优化大量写入场景导致undo空间膨胀的问题。 提高全量恢复的并行度,优化备份恢复效率。 问题修复: 修复一批window function查询结果不准确或异常错误的问题。 修复在打开plan cache后反复执行一类prepare statement,数据库节点崩溃的问题。 修复在先后执行的存储过程中,由于字符集不一致导致的报错问题。 修复一类开启PQ后进行磁盘hash join,查询结果不符合预期的问题。 修复一类查询含有group by临时表字段时,报错主键重复的问题。
-
2.0.48.231200 表4 2.0.48.231200内核版本说明 日期 特性描述 2024-01-30 新增功能和性能优化: 组合分区能力增强:在社区MySQL的RANGE-HASH、LIST-HASH两类组合分区能力基础上,增加了RANGE-RANGE、RANGE-LIST、LIST-RANGE、LIST-LIST、HASH-HASH、HASH-KEY、HASH-RANGE、HASH-LIST、KEY-HASH、KEY-KEY、KEY-RANGE、KEY-LIST的组合分区能力。 向前兼容MySQL 5.7 GROUP BY场景隐式/显式排序。 向前兼容MySQL 5.7 max_length_for_sort_data判据,优化特定场景文件排序性能。 优化因执行计划选错导致访问information_schema下视图较慢的问题。 PQ支持EXIST子查询。 优化库表或实例按时间点恢复性能。 问题修复: OPENSSL版本升级。 修复time_zone参数默认值SYSTEM会导致部分场景SQL并行执行效率降低的问题。 修复一类条件部分下推到物化derived table时,SQL查询结果不准确的问题。 修复部分场景磁盘hash join开启PQ后性能劣化的问题。 修复控制台赋予用户数据库权限后,通过非控制台的方式删除此数据库,权限页面未更新的问题。
-
2.0.28.16 表10 2.0.28.16版本说明 日期 特性描述 2023-03-14 新特性: 优化主备时延。 修复问题: 修复prepare statement中使用json相关函数处理错误问题。 修复指定过滤条件查询结果不返回的问题; 修复WINDOWS函数生成磁盘临时表后,出现空指针异常问题。 修复windows functions空指针使用导致的crash问题。 修复prepared statements执行失败的问题。
-
2.0.45.230900 表5 2.0.45.230900内核版本说明 日期 特性描述 2023-11-24 新增功能和性能优化: 优化datatime/timestamp/time字段行为向前兼容。 优化PQ支持并行磁盘hash join场景。 启用并行INSERT/REPLACE SELECT的功能优化查询速度。 增加连接建立/断开日志打印,提高定位连接相关问题效率。 优化慢日志中增加对慢SQL问题定位有用的信息,提升定位慢SQL定位效率。 支持动态开启Binlog。 优化NDP bloom过滤器。 支持使用CAST(... AS INT) 语法。 优化Nested Loop Join + Distinct 性能。 优化快速识别慢IO对应的slice id。 增加sal_init日志,后续出现存储接口超时,时延可定位性增强。 问题修复: 修复全量SQL中缺少trx_id和cpu_time字段的问题。 修复prepare语句中where比较时,字段是int类型、参数是字符串导致转换有误的问题。 修复备机上DDL与查询的并发访问时,极小概率导致crash的问题。 修复Binlog数量短期暴涨未及时清理的问题。 修复多表JOIN SQL语句打开PQ开关后,可能出现执行结果不一致的问题。 修复Backwad Index Scan与ICP无法兼容导致查询性能不及预期的问题。 修复weight_string函数不支持level子句的问题。 修复特殊场景下,相同的SQL语句选用不同的索引得出结果不一致的问题。 修复部分场景下,同时开启NDP和PQ特性recycle lsn长时间不推进的问题。
-
2.0.28.1 表17 2.0.28.1版本说明 日期 特性描述 2022-05-16 新特性 TaurusDB增加orphaned definer check控制开关。 TaurusDB支持Proxy IP透传。 Proxy提供会话一致性功能。 问题修复 修复主机DDL未提交导致的备机dd(data dictionary)未更新问题。 修复故障切换的主机的auto increment回退的问题。 修复备机性能异常问题。
-
2.0.54.240600 表2 2.0.54.240600内核版本说明 日期 特性描述 2024-07-19 新增功能和性能优化: 热点行更新优化:热点行出现的场景包括秒杀抢购、演唱会门票预订、热门路线火车票预定等等,本版本支持热点行更新优化,您可以通过手动指定或者自动识别的方式开启热点行更新,该功能开启后可以大幅度提升热点行的更新性能。 非阻塞DDL:用户在执行DDL操作的时候,如果目标表存在未提交的长事务或大查询,DDL将持续等待获取MDL-X锁,将导致业务连接的堆积和阻塞。本版本支持非阻塞DDL功能,可以保证即使在无法获得MDL-X锁的情况下,依然允许新事务进入目标表,从而保证整个业务系统的稳定。 多租户管理:提供多租户管理功能,让数据库能够为其多个租户服务,提高数据库资源利用率。 只读节点支持Binlog拉取:支持只读节点拉取Binlog,您可以以TaurusDB只读节点为数据源,建立Binlog复制链路,实时同步Binlog内容,以便减轻TaurusDB主节点的负载。 字段压缩(列压缩):为了减少数据页面存储空间占用,节省成本,TaurusDB推出细粒度的字段压缩,提供ZLIB和ZSTD两种压缩算法,用户可以综合考虑压缩比和压缩解压性能影响,选择合适的压缩算法,对不频繁访问的大字段进行压缩。 支持INTERVAL RANGE分区表:现有的RANGE分区表插入数据时,如果插入的数据超出当前已存在分区的范围,将无法插入并且会返回错误。本版本支持INTERVAL RANGE分区表后,当新插入的数据超过现有分区的范围时,允许数据库根据INTERVAL子句提前指定的规则来添加新分区。 支持LIST DEFAULT HASH分区表特性:LIST DEFAULT HASH是在同一级别支持两种分区类型:LIST和HASH。前面是普通的LIST分区,不符合LIST分区规则的数据会放在DEFAULT分区里,DEFAULT分区如果有多个分区则根据HASH规则计算。LIST DEFAULT HASH分区类型常用在LIST VALUES分布不均匀以及无法全部枚举的场景。 问题修复: 优化表级恢复性能。 优化大规格实例高并发场景备机的执行性能。
-
2.0.54.240900 表1 2.0.54.240900内核版本说明 日期 特性描述 2024-10-18 新增功能和性能优化: 分区级MDL锁:在MySQL社区版中,分区表的数据访问操作(DML)和分区维护操作(DDL)会互相阻塞,这意味着分区维护只能在业务低峰期进行。本版本实现了分区级别的MDL锁,使得分区表的锁粒度从表级降低到了分区级,不同分区上的DML和特定DDL(如增加和删除分区)在MDL锁上不会相互阻塞,从而大大提升分区间操作的并发性。 表回收站:启用此功能开关后,符合条件的DROP TABLE命令不会直接删除指定表,而是将表暂时存放到回收站中,达到最大保存时间后,后台会自动删除。回收站功能支持修改被删除表在回收站中的保留时间,您也可以随时将表从回收站中恢复或彻底删除。 问题修复: 优化资源抢占场景下,各租户的CPU资源不会严格按照配置的比例分配问题。 优化Statement Outline功能,支持视图,支持explain analyze语句。
-
语法 创建一个或多个HASH-KEY分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] HASH(expr) [PARTITIONS num] SUBPARTITION BY [LINEAR] KEY(expr) [SUBPARTITIONS sub_num] (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称,同一个表中不可重复。
-
语法 创建一个或多个KEY-HASH分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] KEY(expr) [PARTITIONS num] SUBPARTITION BY [LINEAR] HASH(expr) [SUBPARTITIONS sub_num] (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称,同一个表中不可重复。
-
语法 创建一个或多个KEY-KEY分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] KEY(expr) [PARTITIONS num] SUBPARTITION BY [LINEAR] KEY(expr) [SUBPARTITIONS sub_num] (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称,同一个表中不可重复。
-
语法 创建一个或多个LIST-LIST分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY LIST {(expr) | COLUMNS(column_list)} SUBPARTITION BY LIST {(expr) | COLUMNS(column_list)} (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name VALUES IN (value_list) (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name VALUES IN (value_list) 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 column_list LIST COLUMNS的情况下使用,分区字段列表,不支持表达式。 value_list LIST COLUMNS的情况下使用,多个字段的边界值。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称, 同一个表中不可重复。
-
使用示例 LIST-LIST类型的使用示例 CREATE TABLE tbl_list_list( col1 INT, col2 INT, col3 varchar(20), col4 DATE)PARTITION BY LIST (col1)SUBPARTITION BY LIST (col2)( PARTITION p0 VALUES in (1, 2)( SUBPARTITION partno0 VALUES in (1, 2), SUBPARTITION partno1 VALUES in (3, 4), SUBPARTITION partno2 VALUES in (5, 6) ), PARTITION p1 VALUES in (3, 4)( SUBPARTITION partno3 VALUES in (1, 2), SUBPARTITION partno4 VALUES in (3, 4), SUBPARTITION partno5 VALUES in (5, 6) ), PARTITION p2 VALUES in (5, 6)( SUBPARTITION partno6 VALUES in (1, 2), SUBPARTITION partno7 VALUES in (3, 4), SUBPARTITION partno8 VALUES in (5, 6) )); LIST COLUMNS-LIST类型的使用示例 CREATE TABLE tbl_list_columns_list( col1 INT, col2 INT, col3 varchar(20), col4 DATE)PARTITION BY LIST COLUMNS(col3)SUBPARTITION BY LIST (col1)( PARTITION europe VALUES in ('FRANCE', 'ITALY')(SUBPARTITION p0 VALUES in (1, 2), SUBPARTITION p1 VALUES in (3, 4), SUBPARTITION p2 VALUES in (5, 6) ), PARTITION asia VALUES in ('INDIA', 'PAKISTAN')(SUBPARTITION p3 VALUES in (1, 2), SUBPARTITION p4 VALUES in (3, 4), SUBPARTITION p5 VALUES in (5, 6) ), PARTITION americas VALUES in ('US', 'CANADA')(SUBPARTITION p6 VALUES in (1, 2), SUBPARTITION p7 VALUES in (3, 4), SUBPARTITION p8 VALUES in (5, 6) ));
-
使用示例 假设使用sysbench的表,表内有1亿条数据。 图1 查看表 在该表的“k”字段创建索引。 如图2所示,采用社区默认单线程创建索引,耗时146.82s。 图2 单线程创建创建索引 通过设置innodb_rds_parallel_index_creation_threads= 4,启用4个线程创建索引。 从图3中可以看到创建索引耗时38.72s,与社区单线程相比速度提升了3.79倍。 图3 多线程创建索引 假设要修改主键索引,虽然指定了多线程,但是会收到一个告警,实际上只能通过单线程建索引。 图4 修改主键索引
-
约束与限制 内核版本为2.0.45.230900及以上版本支持使用该功能。 并行创建索引功能,目前支持的索引为Btree二级索引。 不支持主键索引、spatial index和fulltext index。如果一个并行创建索引的SQL语句包含主键索引,或者spatial index和fulltext index,客户端将会收到一个告警,提示该操作不支持并行创建索引,同时该语句会采用单线程创建索引的方式执行完成。假设在修改主键索引时,虽然指定了多线程,但是会收到一个告警,实际上只能通过单线程建索引。
-
性能测试 TaurusDB执行耗时2.7秒完成,只需要扫描约61万行数据。相比MySQL 8.0 社区版本执行耗时约186秒,扫描数据量4400万,执行效率大大提升。 如下示例中,对7个表连接后的结果做DISTINCT,使用MySQL 8.0.30社区版本,执行耗时186秒,扫描了约4400万行数据。 TaurusDB执行耗时2.7秒,扫描约61万行数据。 查询语句: select distinct ed.code,et.*from ele_template etleft join ele_template_tenant ett on ett.template_id = et.idleft join ele_relation tm on tm.tom_id = et.id and tm.jerry_type = 'chapter'left join ele_relation mv on mv.tom_id = tm.jerry_id and mv.jerry_type = 'variable'left join ele_relation cv on cv.jerry_id = mv.jerry_id and cv.tom_type = 'column'left join ele_doc_column edc on edc.id = cv.tom_idleft join ele_doc ed on ed.id = edc.doc_idwhere ett.uctenantid = 'mmo0l3f8'and ed.code = 'contract'and et.billtype = 'contract'order by ifnull(et.utime,et.ctime)desc limit 0,10;
-
开启多表连接DISTINCT优化 表1 参数说明 参数名称 级别 描述 rds_nlj_distinct_optimize Global,Session DISTINCT优化特性开关,默认值为OFF。 ON:开启DISTINCT优化特性。 OFF:关闭DISTINCT优化特性。 除了使用上述开关来控制优化特性生效或者不生效,还可以使用HINT来实现,语法如下。 开启DISTINCT优化特性 /*+ SET_VAR(rds_nlj_distinct_optimize=ON) */ 关闭 DISTINCT 优化特性 /*+ SET_VAR(rds_nlj_distinct_optimize=OFF) */
-
INTERVAL RANGE分区表与任意类型表的相互转换 语法: 其他类型表转化为INTERVAL RANGE分区表。 ALTER TABLE table_name table_definitionpartition_options;partition_options: PARTITION BY { RANGE{(expr) | COLUMNS(column_list)} } { INTERVAL(type, value) | INTERVAL(value) } [(partition_definition [, partition_definition] ...)]partition_definition: PARTITION partition_name [VALUES LESS THAN {expr | MAXVALUE}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] INTERVAL子句关联参数说明: 表3 参数说明 参数名称 参数说明 INTERVAL(value) 使用RANGE(expr) 或者 RANGE COLUMNS(column_list)且column是整型字段时,INTERVAL子句的格式,其中value代表间隔数值,必须是正整数。 expr RANGE(expr)中的分区表达式,目前只支持整数类型。 column_list RANGE COLUMNS(column_list)的分区字段列表,在INTERVAL RANGE分区表中,column_list只能是单列。 INTERVAL(type, value) 使用RANGE COLUMNS(column_list)且column_list是DATE/TIME/DATETIME类型时,INTERVAL子句的格式,其中type代表间隔类型,value代表间隔数值。 type目前支持8种时间类型(YEAR、QUARTER、MONTH、WEEK、DAY、HOUR、MINUTE、SECOND)。 value代表间隔数值,必须是正整数;当type为SECOND类型时,间隔不能小于60。 INTERVAL RANGE分区表转化为其他任意类型的表,这里partition_options是可选的。 ALTER TABLE table_name table_definition[partition_options]; 示例: 将其他类型表转为INTERVAL RANGE表: CREATE TABLE orders( orderkey BIGINT NOT NULL, custkey BIGINT NOT NULL, orderdate DATE NOT NULL);ALTER TABLE ordersPARTITION BY RANGE COLUMNS(orderdate) INTERVAL(MONTH, 1) ( PARTITION p0 VALUES LESS THAN('2021-10-01')); 将INTERVAL RANGE表转化为其他类型表: CREATE TABLE orders (a INT, b DATETIME)PARTITION BY RANGE (a) INTERVAL(10)( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20));ALTER TABLE orders PARTITION BY LIST COLUMNS (a)( PARTITION p0 VALUES IN (1, 11, 25)); 修改INTERVAL RANGE表的INTERVAL子句信息: CREATE TABLE orders (a INT, b DATETIME)PARTITION BY RANGE (a) INTERVAL(10)( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20));ALTER TABLE orders PARTITION BY RANGE (a) INTERVAL(20)( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20));# 消除INTERVAL子句ALTER TABLE orders PARTITION BY RANGE (a)( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20));# 添加INTERVAL子句ALTER TABLE orders PARTITION BY RANGE (a) INTERVAL(100)( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20));
-
SET INTERVAL子句支持 支持使用SET INTERVAL子句修改INTERVAL RANGE表定义的INTERVAL子句间隔类型和间隔值,也可实现消除或添加INTERVAL子句。 语法: ALTER TABLE table_name SET INTERVAL {() | (type, value) | (value)}; 表4 参数说明 参数名称 参数说明 type 目前支持8种时间类型(YEAR、QUARTER、MONTH、WEEK、DAY、HOUR、MINUTE、SECOND),不显式指定默认是数字类型的间隔。 value 指定间隔的数值大小。当type为SECOND类型时,间隔不能小于60。 示例: 修改INTERVAL RANGE表的INTERVAL类型和值。 CREATE TABLE orders( orderkey BIGINT NOT NULL, custkey BIGINT NOT NULL, orderdate DATE NOT NULL)PARTITION BY RANGE COLUMNS(orderdate) INTERVAL(MONTH, 1) ( PARTITION p0 VALUES LESS THAN('2021-10-01'));ALTER TABLE orders SET INTERVAL(YEAR, 1); 实现RANGE表和INTERVAL RANGE表之间的转化。 CREATE TABLE orders( orderkey BIGINT NOT NULL, custkey BIGINT NOT NULL, orderdate DATE NOT NULL)PARTITION BY RANGE COLUMNS(orderdate) INTERVAL(MONTH, 1) ( PARTITION p0 VALUES LESS THAN('2021-10-01'));# 删除INTERVAL子句ALTER TABLE sales SET INTERVAL();# 添加INTERVAL子句ALTER TABLE sales SET INTERVAL(DAY, 60); 即使当前功能开关rds_interval_range_enabled关闭,"ALTER TABLE table_name SET INTERVAL()"语句也可使用(用于消除INTERVAL RANGE表的INTERVAL子句定义信息,转化为普通RANGE表)。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- ...
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333