【SysBench】OLTP 基准测试示例

前言

本文采用 MySQL 沙盒实例作为测试目标,使用 sysbench-1.20 对其做 OLTP 基准测试。

有关 MySQL 沙盒的更多信息,请参阅 玩转 MySQL Shell 沙盒实例【MySQL Shell】6.8 AdminAPI MySQL 沙盒


1、部署一个 MySQL 沙盒实例

使用 mysqlsh 部署一个 MySQL 沙盒实例用于测试 OLTP 。

js 复制代码
 MySQL  JS > dba.deploySandboxInstance(3310);
A new MySQL sandbox instance will be created on this host in 
/root/mysql-sandboxes/3310

Warning: Sandbox instances are only suitable for deploying and 
running on your local machine for testing purposes and are not 
accessible from external networks.

Please enter a MySQL root password for the new instance: ********

Deploying new MySQL instance...

Instance localhost:3310 successfully deployed and started.
Use shell.connect('root@localhost:3310') to connect to the instance.

2、创建 sysbench oltp 测试的基础配置文件

为什么要使用配置文件?方便快捷啊!配置文件可以简化操作,省着在命令行中指定这些参数时至少还要多打 -- 和空格。如果一些参数可以复用,建议创建一个配置文件。

shell 复制代码
$ cat mysql-sb.cnf 
threads=2
time=600

db-driver=mysql
mysql-host=localhost
mysql-port=3310
mysql-socket=/root/mysql-sandboxes/3310/sandboxdata/mysqld.sock
mysql-user=root
mysql-password=Ro123ot$
mysql-db=sbtest

在创建时读者可能遇到一个问题,在配置文件中指定诸如 tables 选项时不生效,并且会报 Unknown argument type: 0 。而在命令行中指定时则有效。原因是什么呢?

因为这个参数是 Lua 脚本的参数,而不是 sysbench 这个二进制可执行文件的参数!

所以应该在命令行中使用诸如 --tables=N 这样的 Lua 脚本参数来测试。

3、准备测试数据

笔者准备了 100 个包含 10000 行数据的测试表,库名和表名都是用默认值。

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_common prepare

注意此阶段的屏幕打印信息,多线程时可能出现争用,导致部分表未创建成功,或写入的数据不全。

sbtest6 创建失败报错:

计划创建 100 张表,实际只创建了 53 个,上面的 sbtest6 表虽然最后创建成功了,但插入的数据不全。

4、运行测试

1) oltp_read_write

建议先对支持 prewarm 选项的 Lua 脚本使用 prewarm 选项,以预热数据到内存,提高性能。

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_read_write.lua prewarm

因输出过长,以下仅截取部分信息。

预热后:

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_read_write.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            2272046
        write:                           530149
        other:                           443585
        total:                           3245780
    transactions:                        162289 (270.47 per sec.)
    queries:                             3245780 (5409.35 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0289s
    total number of events:              162289

Latency (ms):
         min:                                    4.40
         avg:                                    7.39
         max:                                  427.68
         95th percentile:                       10.09
         sum:                              1199185.78

Threads fairness:
    events (avg/stddev):           81144.5000/31.50
    execution time (avg/stddev):   599.5929/0.00

未预热,同时使用周期报告来每 5 秒生成一次报告信息:

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_read_write run --report-interval=5
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Report intermediate results every 5 second(s)
Initializing random number generator from current time


Initializing worker threads...

Threads started!

[ 5s ] thds: 2 tps: 137.01 qps: 2747.56 (r/w/o: 1923.71/549.43/274.42) lat (ms,95%): 23.52 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 2 tps: 199.67 qps: 3993.69 (r/w/o: 2795.44/798.90/399.35) lat (ms,95%): 14.73 err/s: 0.00 reconn/s: 0.00
[ 15s ] thds: 2 tps: 204.00 qps: 4080.05 (r/w/o: 2856.03/816.01/408.00) lat (ms,95%): 12.52 err/s: 0.00 reconn/s: 0.00
...
[ 590s ] thds: 2 tps: 285.00 qps: 5698.37 (r/w/o: 3989.18/1139.19/570.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 595s ] thds: 2 tps: 285.80 qps: 5714.78 (r/w/o: 3999.39/1144.00/571.40) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 600s ] thds: 2 tps: 281.97 qps: 5641.39 (r/w/o: 3949.97/1127.28/564.14) lat (ms,95%): 9.22 err/s: 0.00 reconn/s: 0.00
SQL statistics:
    queries performed:
        read:                            2126824
        write:                           607664
        other:                           303832
        total:                           3038320
    transactions:                        151916 (253.18 per sec.)
    queries:                             3038320 (5063.66 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0218s
    total number of events:              151916

Latency (ms):
         min:                                    4.70
         avg:                                    7.89
         max:                                 1579.23
         95th percentile:                        9.91
         sum:                              1199355.27

Threads fairness:
    events (avg/stddev):           75958.0000/101.00
    execution time (avg/stddev):   599.6776/0.00

2) oltp_point_select.lua

注意,.lua 后缀加不加都行。

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_point_select.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Report intermediate results every 5 second(s)
Initializing random number generator from current time


Initializing worker threads...

Threads started!
[ 5s ] thds: 2 tps: 13309.18 qps: 13309.18 (r/w/o: 13309.18/0.00/0.00) lat (ms,95%): 0.21 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 2 tps: 12990.77 qps: 12990.77 (r/w/o: 12990.77/0.00/0.00) lat (ms,95%): 0.22 err/s: 0.00 reconn/s: 0.00
[ 15s ] thds: 2 tps: 13777.54 qps: 13777.54 (r/w/o: 13777.54/0.00/0.00) lat (ms,95%): 0.20 err/s: 0.00 reconn/s: 0.00
...
[ 590s ] thds: 2 tps: 13479.94 qps: 13479.94 (r/w/o: 13479.94/0.00/0.00) lat (ms,95%): 0.20 err/s: 0.00 reconn/s: 0.00
[ 595s ] thds: 2 tps: 13402.69 qps: 13402.69 (r/w/o: 13402.69/0.00/0.00) lat (ms,95%): 0.20 err/s: 0.00 reconn/s: 0.00
[ 600s ] thds: 2 tps: 13573.04 qps: 13573.04 (r/w/o: 13573.04/0.00/0.00) lat (ms,95%): 0.20 err/s: 0.00 reconn/s: 0.00
SQL statistics:
    queries performed:
        read:                            8165259
        write:                           0
        other:                           0
        total:                           8165259
    transactions:                        8165259 (13608.60 per sec.)
    queries:                             8165259 (13608.60 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0052s
    total number of events:              8165259

Latency (ms):
         min:                                    0.12
         avg:                                    0.15
         max:                                   48.51
         95th percentile:                        0.20
         sum:                              1189126.95

Threads fairness:
    events (avg/stddev):           4082629.5000/4029.50
    execution time (avg/stddev):   594.5635/0.01

3) oltp_write_only.lua

上面设置的 report-interval 每 5 秒报告一次太频繁了,笔者目的是为了演示 sysbench 的用法,因而选择后面不再报告了。

此外,这个测试我在命令行增加了开启直方图的参数 --histogram=on ,来看一下效果吧!

shell 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_write_only.lua run --histogram=on
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

Latency histogram (values are in milliseconds)
       value  ------------- distribution ------------- count
       1.759 |                                         1
       1.824 |                                         1
       1.857 |                                         5
       1.891 |                                         11
       1.925 |                                         22
       1.960 |                                         69
       1.996 |                                         149
       2.032 |                                         201
       2.069 |*                                        335
       2.106 |*                                        557
       2.145 |**                                       947
       2.184 |***                                      1327
       2.223 |****                                     1896
       2.264 |*****                                    2608
       2.305 |*******                                  3578
       2.347 |**********                               4687
       2.389 |*************                            6072
       2.433 |****************                         7844
       2.477 |********************                     9856
       2.522 |************************                 11344
       2.568 |**************************               12441
       2.615 |*****************************            13762
       2.662 |*******************************          15034
       2.710 |**********************************       16514
       2.760 |*************************************    17735
       2.810 |**************************************** 19185
       2.861 |**************************************** 19258
       2.913 |***************************************  18997
       2.966 |**************************************   18409
       3.020 |***********************************      17069
       3.075 |*********************************        15689
       3.130 |*******************************          14864
       3.187 |****************************             13647
       3.245 |**************************               12369
       3.304 |***********************                  11086
       3.364 |********************                     9858
       3.425 |******************                       8680
       3.488 |****************                         7786
       3.551 |**************                           6774
       3.615 |************                             5633
       3.681 |**********                               4828
       3.748 |********                                 3991
       3.816 |*******                                  3428
       3.885 |******                                   2853
       3.956 |*****                                    2360
       4.028 |****                                     1948
       4.101 |***                                      1648
       4.176 |***                                      1346
       4.252 |**                                       1082
       4.329 |**                                       1005
       4.407 |**                                       796
       4.487 |*                                        679
       4.569 |*                                        629
       4.652 |*                                        548
       4.737 |*                                        473
       4.823 |*                                        498
       4.910 |*                                        453
       4.999 |*                                        462
       5.090 |*                                        456
       5.183 |*                                        448
       5.277 |*                                        458
       5.373 |*                                        499
       5.470 |*                                        478
       5.570 |*                                        517
       5.671 |*                                        481
       5.774 |*                                        544
       5.879 |*                                        561
       5.986 |*                                        546
       6.095 |*                                        568
       6.205 |*                                        549
       6.318 |*                                        570
       6.433 |*                                        529
       6.550 |*                                        575
       6.669 |*                                        496
       6.790 |*                                        463
       6.913 |*                                        451
       7.039 |*                                        418
       7.167 |*                                        407
       7.297 |*                                        355
       7.430 |*                                        353
       7.565 |*                                        308
       7.702 |*                                        266
       7.842 |*                                        259
 
SQL statistics:
    queries performed:
        read:                            0
        write:                           1480184
        other:                           740092
        total:                           2220276
    transactions:                        370046 (616.73 per sec.)
    queries:                             2220276 (3700.37 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0123s
    total number of events:              370046

Latency (ms):
         min:                                    1.76
         avg:                                    3.24
         max:                                 1266.80
         95th percentile:                        4.41
         sum:                              1198670.01

Threads fairness:
    events (avg/stddev):           185023.0000/8.00
    execution time (avg/stddev):   599.3350/0.00

输出信息也太长了,以上仅截取重要的直方图部分。

4) oltp_delete.lua

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_delete.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            0
        write:                           312795
        other:                           3073107
        total:                           3385902
    transactions:                        3385902 (5643.06 per sec.)
    queries:                             3385902 (5643.06 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0094s
    total number of events:              3385902

Latency (ms):
         min:                                    0.11
         avg:                                    0.35
         max:                                  774.49
         95th percentile:                        1.58
         sum:                              1194234.55

Threads fairness:
    events (avg/stddev):           1692951.0000/195.00
    execution time (avg/stddev):   597.1173/0.01

5) oltp_insert.lua

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_insert.lua run --histogram=on
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

Latency histogram (values are in milliseconds)
       value  ------------- distribution ------------- count
       0.872 |                                         1
       0.888 |                                         3
       0.904 |                                         7
       0.920 |                                         12
       0.937 |                                         43
       0.954 |                                         73
       0.971 |                                         186
       0.989 |                                         359
       1.007 |*                                        548
       1.025 |*                                        640
       1.044 |*                                        829
       1.063 |*                                        1277
       1.082 |***                                      2289
       1.102 |****                                     3604
       1.122 |******                                   4984
       1.142 |*******                                  6073
       1.163 |*********                                7463
       1.184 |**********                               8819
       1.205 |***********                              9559
       1.227 |*************                            10751
       1.250 |***************                          12863
       1.272 |*******************                      15982
       1.295 |**********************                   19122
       1.319 |*************************                21523
       1.343 |**************************               22617
       1.367 |*****************************            24922
       1.392 |**********************************       29320
       1.417 |**************************************   32289
       1.443 |**************************************   32792
       1.469 |***************************************  33521
       1.496 |**************************************** 34324
       1.523 |**************************************   32975
       1.551 |***************************************  33122
       1.579 |**************************************   32907
       1.608 |*************************************    31956
       1.637 |************************************     30909
       1.667 |**********************************       29239
       1.697 |********************************         27315
       1.728 |*****************************            25275
       1.759 |**************************               22348
       1.791 |**********************                   18824
       1.824 |*******************                      16152
       1.857 |*****************                        14749
       1.891 |***************                          13044
       1.925 |*************                            10862
       1.960 |***********                              9120
       1.996 |*********                                7758
       2.032 |********                                 6459
       2.069 |******                                   5426
       2.106 |*****                                    4678
       2.145 |*****                                    4135
       2.184 |****                                     3500
       2.223 |****                                     3054
       2.264 |***                                      2768
       2.305 |***                                      2319
       2.347 |**                                       2034
       2.389 |**                                       1773
       2.433 |**                                       1516
       2.477 |**                                       1301
       2.522 |*                                        1070
       2.568 |*                                        954
       2.615 |*                                        755
       2.662 |*                                        675
       2.710 |*                                        631
       2.760 |*                                        492
       2.810 |*                                        451
       2.861 |      
SQL statistics:
    queries performed:
        read:                            0
        write:                           744453
        other:                           0
        total:                           744453
    transactions:                        744453 (1240.74 per sec.)
    queries:                             744453 (1240.74 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0049s
    total number of events:              744453

Latency (ms):
         min:                                    0.87
         avg:                                    1.61
         max:                                  926.39
         95th percentile:                        2.11
         sum:                              1196638.09

Threads fairness:
    events (avg/stddev):           372226.5000/3.50
    execution time (avg/stddev):   598.3190/0.01

6) oltp_read_only.lua

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_read_only.lua  run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            7425740
        write:                           0
        other:                           1060820
        total:                           8486560
    transactions:                        530410 (883.99 per sec.)
    queries:                             8486560 (14143.89 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0137s
    total number of events:              530410

Latency (ms):
         min:                                    1.97
         avg:                                    2.26
         max:                                   54.63
         95th percentile:                        3.07
         sum:                              1198568.01

Threads fairness:
    events (avg/stddev):           265205.0000/33.00
    execution time (avg/stddev):   599.2840/0.00

7) oltp_update_index.lua

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_update_index.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            0
        write:                           145095
        other:                           4800953
        total:                           4946048
    transactions:                        4946048 (8243.33 per sec.)
    queries:                             4946048 (8243.33 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0030s
    total number of events:              4946048

Latency (ms):
         min:                                    0.12
         avg:                                    0.24
         max:                                  259.25
         95th percentile:                        0.42
         sum:                              1192593.66

Threads fairness:
    events (avg/stddev):           2473024.0000/862.00
    execution time (avg/stddev):   596.2968/0.08

8) oltp_update_non_index.lua

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 oltp_update_non_index.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            0
        write:                           141508
        other:                           4686830
        total:                           4828338
    transactions:                        4828338 (8047.17 per sec.)
    queries:                             4828338 (8047.17 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.0022s
    total number of events:              4828338

Latency (ms):
         min:                                    0.12
         avg:                                    0.25
         max:                                  382.28
         95th percentile:                        0.44
         sum:                              1192434.24

Threads fairness:
    events (avg/stddev):           2414169.0000/3780.00
    execution time (avg/stddev):   596.2171/0.04

9) select_random_points.lua

bash 复制代码

10) select_random_ranges.lua

bash 复制代码

11) bulk_insert.lua

此测试与前面那些测试有些不同,它只会创建与线程数相同的个数的表,并且没有 talbes 参数。因此我们需要修改执行命令,先清理 sbtest1sbtest2 表的数据,然后再 prepare ,最后再 run

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf bulk_insert.lua cleanup
$ sysbench --config-file=mysql-sb.cnf bulk_insert.lua prepare
bash 复制代码
$ sysbench --config-file=mysql-sb.cnf --tables=100 bulk_insert.lua run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            0
        write:                           2075
        other:                           0
        total:                           2075
    transactions:                        56561449 (94080.36 per sec.)
    queries:                             2075   (3.45 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          600.9490s
    total number of events:              56561449

Latency (ms):
         min:                                    0.00
         avg:                                    0.02
         max:                                 2011.20
         95th percentile:                        0.00
         sum:                              1182530.43

Threads fairness:
    events (avg/stddev):           28280724.5000/13106.50
    execution time (avg/stddev):   591.2652/0.25

MySQL 数据库内的执行结果如下:

sql 复制代码
 MySQL  localhost:3310 ssl  sbtest  SQL > select count(*) from sbtest1;
+----------+
| count(*) |
+----------+
| 28293831 |
+----------+
1 row in set (1.7266 sec)

 MySQL  localhost:3310 ssl  sbtest  SQL > select count(*) from sbtest2;
+----------+
| count(*) |
+----------+
| 28267618 |
+----------+
1 row in set (1.8061 sec)

我们可以修改 times 参数为一个较小的值,因为没有必要批量插入 10 分钟的数据。

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf bulk_insert.lua prepare --time=60
bash 复制代码
$ sysbench --config-file=mysql-sb.cnf bulk_insert.lua run --time=60
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 2
Initializing random number generator from current time


Initializing worker threads...

Threads started!

SQL statistics:
    queries performed:
        read:                            0
        write:                           190
        other:                           0
        total:                           190
    transactions:                        5722434 (94526.75 per sec.)
    queries:                             190    (3.14 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          60.5316s
    total number of events:              5722434

Latency (ms):
         min:                                    0.00
         avg:                                    0.02
         max:                                 1102.79
         95th percentile:                        0.00
         sum:                               118906.30

Threads fairness:
    events (avg/stddev):           2861217.0000/0.00
    execution time (avg/stddev):   59.4532/0.19

可以看到再命令行最后指定的 --times=60 覆盖了配置文件中指定的 time=600

sql 复制代码
 MySQL  localhost:3310 ssl  sbtest  SQL > select 'sbtest1' table_name,count(*) from sbtest1 union all
                                       -> select 'sbtest1' table_name,count(*) from sbtest2;
+------------+----------+
| table_name | count(*) |
+------------+----------+
| sbtest1    |  2861217 |
| sbtest1    |  2861217 |
+------------+----------+
2 rows in set (0.4175 sec)

5、清理数据

bash 复制代码
$ sysbench --config-file=mysql-sb.cnf oltp_common.lua --tables=100 cleanup

6、销毁 MySQL 沙盒实例

mysqlsh 终端中执行:

js 复制代码
 MySQL  localhost:3310 ssl  sbtest  JS > dba.stopSandboxInstance(3310)
The MySQL sandbox instance on this host in 
3310 will be stopped

Please enter the MySQL root password for the instance 'localhost:3310': ********
The active session is established to the sandbox being stopped so it's going to be closed.

Stopping MySQL instance...

Instance localhost:3310 successfully stopped.

 MySQL  JS > dba.deleteSandboxInstance(3310);

Deleting MySQL instance...

Instance localhost:3310 successfully deleted.
相关推荐
老邓计算机毕设1 小时前
SSM智慧社区家政服务系统80q7o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架
松涛和鸣2 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa2 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k3 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦3 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL4 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·4 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德4 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫4 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i5 小时前
完全卸载MariaDB
数据库·mariadb