AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 318895
Accepted
John K. N.
John K. N.
Asked: 2022-10-29 04:48:11 +0800 CST2022-10-29 04:48:11 +0800 CST 2022-10-29 04:48:11 +0800 CST

查询 sys.dm_db_log_info() 函数同时减少到最大值

  • 772

我目前正在查询sys.dm_db_log_info()DMV 以从数据库中检索 VLF,以确定何时可以缩小、重组和减少 TLOG 文件中的碎片(10 MB VLF)数量。

这样做的原因是,如果事务位于 TLOG 文件的末尾并导致活动的 VLF,则无法缩小 TLOG 文件。类似的情况,如果一个活动事务位于 TLOG 文件的中间,那么您不能缩小到该 VLF。

当前声明

我目前有这个语句来检索MAX(vlf_begin_offset)记录、MIN(vlf_begin_offset)记录和任何具有活动的记录vlf_active = 1:

SELECT ddli.vlf_begin_offset,
       ddli.vlf_sequence_number,
       ddli.vlf_active,
       ddli.vlf_status,
       ddli.vlf_first_lsn
FROM   sys.dm_db_log_info(DB_ID()) AS ddli
WHERE  ddli.vlf_begin_offset = (
           SELECT MIN(ddli2.vlf_begin_offset)
           FROM   sys.dm_db_log_info(DB_ID()) AS ddli2
       )
       OR  ddli.vlf_active = 1
       OR  ddli.vlf_begin_offset = (
               SELECT MAX(ddli3.vlf_begin_offset)
               FROM   sys.dm_db_log_info(DB_ID()) AS ddli3
           )
ORDER BY
       ddli.vlf_begin_offset ASC

返回所有记录后,结果集如下所示:

+------------------+---------------------+------------+------------+------------------------+
| vlf_begin_offset | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
+------------------+---------------------+------------+------------+------------------------+
|             8192 |              253978 |          0 |          0 | 00000000:00000000:0000 |
|           262144 |              253979 |          0 |          0 | 00000000:00000000:0000 |
|           516096 |              253980 |          0 |          0 | 00000000:00000000:0000 |
|           770048 |              253977 |          0 |          0 | 00000000:00000000:0000 |
|          1048576 |              253981 |          0 |          0 | 00000000:00000000:0000 |
|         17563648 |              253982 |          0 |          0 | 00000000:00000000:0000 |
|         34078720 |              253983 |          1 |          2 | 0003e01f:00000010:0001 |
|         50593792 |              253970 |          0 |          0 | 00000000:00000000:0000 |
|         67108864 |              253971 |          0 |          0 | 00000000:00000000:0000 |
|         75497472 |              253972 |          0 |          0 | 00000000:00000000:0000 |
|         83886080 |              253973 |          0 |          0 | 00000000:00000000:0000 |
|         92274688 |              253974 |          0 |          0 | 00000000:00000000:0000 |
|        100663296 |              253975 |          0 |          0 | 00000000:00000000:0000 |
|        109051904 |              253976 |          0 |          0 | 00000000:00000000:0000 |
|        117440512 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        236978176 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        356515840 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        476053504 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        595591168 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        715128832 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        834666496 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        954204160 |                   0 |          0 |          0 | 00000000:00000000:0000 |
+------------------+---------------------+------------+------------+------------------------+

使用我当前的脚本,我得到:

+------------------+---------------------+------------+------------+------------------------+
| vlf_begin_offset | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
+------------------+---------------------+------------+------------+------------------------+
|             8192 |              253978 |          0 |          0 | 00000000:00000000:0000 |
|         34078720 |              253983 |          1 |          2 | 0003e01f:00000010:0001 |
|        954204160 |                   0 |          0 |          0 | 00000000:00000000:0000 |
+------------------+---------------------+------------+------------+------------------------+

附加信息

可以在不同的vlf_active = 1位置弹出。可以有多个岛屿vlf_active = 1。

问题

在任何活动的 vlf ( ) 之前有一个记录并在之后有一个记录会很好vlf_active = 1。

  • 我怎样才能做到这一点?

      +------------------+---------------------+------------+------------+------------------------+
      | vlf_begin_offset | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
      +------------------+---------------------+------------+------------+------------------------+
      |             8192 |              253978 |          0 |          0 | 00000000:00000000:0000 |
      |         17563648 |              253982 |          0 |          0 | 00000000:00000000:0000 |
      |         34078720 |              253983 |          1 |          2 | 0003e01f:00000010:0001 |
      |         50593792 |              253970 |          0 |          0 | 00000000:00000000:0000 |    
      |        954204160 |                   0 |          0 |          0 | 00000000:00000000:0000 |
      +------------------+---------------------+------------+------------+------------------------+
    
  • 如果有数百条记录,那么在两者之间需要什么摘要记录?例如这样的:

      +------------------+---------------------+------------+------------+------------------------+
      | vlf_begin_offset | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
      +------------------+---------------------+------------+------------+------------------------+
      |             8192 |              253978 |          0 |          0 | 00000000:00000000:0000 |
      |  (4 res clipped) |                     |            |            |                        |
      |         17563648 |              253982 |          0 |          0 | 00000000:00000000:0000 |
      |         34078720 |              253983 |          1 |          2 | 0003e01f:00000010:0001 |
      |         50593792 |              253970 |          0 |          0 | 00000000:00000000:0000 |    
      | (13 res clipped) |                     |            |            | 00000000:00000000:0000 |    
      |        954204160 |                   0 |          0 |          0 |                        |
      +------------------+---------------------+------------+------------+------------------------+
    
sql-server
  • 2 2 个回答
  • 146 Views

2 个回答

  • Voted
  1. Charlieface
    2022-10-29T07:48:21+08:002022-10-29T07:48:21+08:00

    窗口函数是您需要的。LAG并将LEAD告诉前一行和下一行的值是什么,NULL如果没有这样的行(换句话说,第一行或最后一行),将返回。

    SELECT
      ddli.vlf_begin_offset,
      ddli.vlf_sequence_number,
      ddli.vlf_active,
      ddli.vlf_status,
      ddli.vlf_first_lsn
    FROM  (
        SELECT *,
          prev_active = LAG (vlf_active) OVER (ORDER BY vlf_begin_offset),
          next_active = LEAD(vlf_active) OVER (ORDER BY vlf_begin_offset)
        FROM sys.dm_db_log_info(DB_ID()) ddli
    ) ddli
    WHERE (
          ddli.vlf_active = 1
       OR ddli.prev_active IS NULL
       OR ddli.prev_active = 1
       OR ddli.next_active IS NULL
       OR ddli.next_active = 1
    )
    ORDER BY
       ddli.vlf_begin_offset;
    

    如果使用 and 的参数,可以简化default逻辑LEADLAG

    SELECT
      ddli.vlf_begin_offset,
      ddli.vlf_sequence_number,
      ddli.vlf_active,
      ddli.vlf_status,
      ddli.vlf_first_lsn
    FROM  (
        SELECT *,
          prev_active = LAG (vlf_active, 1, 1) OVER (ORDER BY vlf_begin_offset),
          next_active = LEAD(vlf_active, 1, 1) OVER (ORDER BY vlf_begin_offset)
        FROM sys.dm_db_log_info(DB_ID()) ddli
    ) ddli
    WHERE 1 IN (ddli.vlf_active, ddli.prev_active, ddli.next_active)
    ORDER BY
       ddli.vlf_begin_offset;
    

    另一种选择是在前行和后行上使用条件COUNT或, 窗口化。SUM您仍然需要LEAD LAG或ROW_NUMBER识别第一行和最后一行,因此它不会给您带来太多好处。

    SELECT
      ddli.vlf_begin_offset,
      ddli.vlf_sequence_number,
      ddli.vlf_active,
      ddli.vlf_status,
      ddli.vlf_first_lsn
    FROM  (
        SELECT *,
          rn = ROW_NUMBER() OVER (ORDER BY vlf_begin_offset),
          next_active = LEAD(vlf_active) OVER (ORDER BY vlf_begin_offset),
          any_active = COUNT(NULLIF(vlf_active, 0)) OVER (ORDER BY vlf_begin_offset ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
        FROM sys.dm_db_log_info(DB_ID()) ddli
    ) ddli
    WHERE ddli.rn = 1
       OR ddli.any_active > 0
       OR ddli.next_active IS NULL
    ORDER BY
       ddli.vlf_begin_offset;
    
    • 5
  2. Best Answer
    Paul White
    2022-10-31T17:23:05+08:002022-10-31T17:23:05+08:00

    要求

    使用您的样本数据:

    DECLARE @LogInfo table
    (
        vlf_begin_offset bigint NULL UNIQUE CLUSTERED,
        vlf_sequence_number bigint NULL,
        vlf_active bit NOT NULL,
        vlf_status integer NULL,
        vlf_first_lsn nvarchar(24) NULL
    );
    
    INSERT @LogInfo
    VALUES
        (     8192, 253978, 0, 0, N'00000000:00000000:0000'),
        (   262144, 253979, 0, 0, N'00000000:00000000:0000'),
        (   516096, 253980, 0, 0, N'00000000:00000000:0000'),
        (   770048, 253977, 0, 0, N'00000000:00000000:0000'),
        (  1048576, 253981, 0, 0, N'00000000:00000000:0000'),
        ( 17563648, 253982, 0, 0, N'00000000:00000000:0000'),
        ( 34078720, 253983, 1, 2, N'0003e01f:00000010:0001'),
        ( 50593792, 253970, 0, 0, N'00000000:00000000:0000'),
        ( 67108864, 253971, 0, 0, N'00000000:00000000:0000'),
        ( 75497472, 253972, 0, 0, N'00000000:00000000:0000'),
        ( 83886080, 253973, 0, 0, N'00000000:00000000:0000'),
        ( 92274688, 253974, 0, 0, N'00000000:00000000:0000'),
        (100663296, 253975, 0, 0, N'00000000:00000000:0000'),
        (109051904, 253976, 0, 0, N'00000000:00000000:0000'),
        (117440512,      0, 0, 0, N'00000000:00000000:0000'),
        (236978176,      0, 0, 0, N'00000000:00000000:0000'),
        (356515840,      0, 0, 0, N'00000000:00000000:0000'),
        (476053504,      0, 0, 0, N'00000000:00000000:0000'),
        (595591168,      0, 0, 0, N'00000000:00000000:0000'),
        (715128832,      0, 0, 0, N'00000000:00000000:0000'),
        (834666496,      0, 0, 0, N'00000000:00000000:0000'),
        (954204160,      0, 0, 0, N'00000000:00000000:0000');
    

    你想看:

    • 偏移顺序的第一行
    • 偏移顺序的最后一行
    • active = 1 的任何行
    • 偏移顺序中的下一行处于活动状态的任何行 = 1
    • 偏移顺序中前一行处于活动状态的任何行 = 1

    解决方案

    我们可以使用最多覆盖三行的偏移排序窗口框架来完成所有这些操作:前一行、当前行和下一行。

    第一行和最后一行的帧中只有两行。第一行缺少前一行,最后一行缺少后续行。无论活动值如何,我们总是对这些行感兴趣。其他有趣的行将在其框架的行中具有 active = 1。

    注意:如果只有一个 VLF,则该帧将只有一行,但该行必须处于活动状态。活动行将始终是“有趣的”。

    另一种表达方式是说我们对两者都感兴趣:

    • 三行框架中只有两行的行
    • 任何帧行中活动 = 1 的行

    我们可以将其封装在以下逻辑中:

    SELECT
        Q1.vlf_begin_offset,
        Q1.vlf_sequence_number,
        Q1.vlf_active,
        Q1.vlf_status,
        Q1.vlf_first_lsn
    FROM 
    (
        SELECT 
            LI.*,
            is_interesting =
                IIF
                (
                    -- First & last rows have only two in frame
                    2 =
                    COUNT_BIG(*) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
                    -- Any row in frame is active
                    OR 1 =
                    MAX(CONVERT(bigint, LI.vlf_active)) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
                    1,
                    0
                )
        FROM @LogInfo AS LI
    ) AS Q1
    WHERE
        Q1.is_interesting = 1
    ORDER BY
        Q1.vlf_begin_offset;
    

    执行计划

    结果:

    vlf_begin_offset vlf_sequence_number vlf_active vlf_status vlf_first_lsn
    8192 253978 0 0 00000000:00000000:0000
    17563648 253982 0 0 00000000:00000000:0000
    34078720 253983 1 2 0003e01f:00000010:0001
    50593792 253970 0 0 00000000:00000000:0000
    954204160 0 0 0 00000000:00000000:0000

    有摘要记录

    生成问题中显示的隐藏记录的摘要只会稍微困难一些。我们首先需要一种方法来识别我们想要跳过的连续行组。

    这可以通过在当前行之前并包括当前行的偏移排序帧中求和感兴趣的行数来完成:

    SELECT
        Q1.*,
        grp = 
            SUM(Q1.is_interesting) OVER (
                ORDER BY Q1.vlf_begin_offset 
                ROWS UNBOUNDED PRECEDING)
    FROM 
    (
        SELECT 
            LI.*,
            is_interesting =
                IIF
                (
                    2 =
                    COUNT_BIG(*) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
                    OR 1 =
                    MAX(CONVERT(bigint, LI.vlf_active)) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
                    1,
                    0
                )
        FROM @LogInfo AS LI
    ) AS Q1
    ORDER BY
        Q1.vlf_begin_offset;
    

    结果:

    vlf_begin_offset vlf_sequence_number vlf_active vlf_status vlf_first_lsn is_interesting grp
    8192 253978 0 0 00000000:00000000:0000 1 1
    262144 253979 0 0 00000000:00000000:0000 0 1
    516096 253980 0 0 00000000:00000000:0000 0 1
    770048 253977 0 0 00000000:00000000:0000 0 1
    1048576 253981 0 0 00000000:00000000:0000 0 1
    17563648 253982 0 0 00000000:00000000:0000 1 2
    34078720 253983 1 2 0003e01f:00000010:0001 1 3
    50593792 253970 0 0 00000000:00000000:0000 1 4
    67108864 253971 0 0 00000000:00000000:0000 0 4
    75497472 253972 0 0 00000000:00000000:0000 0 4
    83886080 253973 0 0 00000000:00000000:0000 0 4
    92274688 253974 0 0 00000000:00000000:0000 0 4
    100663296 253975 0 0 00000000:00000000:0000 0 4
    109051904 253976 0 0 00000000:00000000:0000 0 4
    117440512 0 0 0 00000000:00000000:0000 0 4
    236978176 0 0 0 00000000:00000000:0000 0 4
    356515840 0 0 0 00000000:00000000:0000 0 4
    476053504 0 0 0 00000000:00000000:0000 0 4
    595591168 0 0 0 00000000:00000000:0000 0 4
    715128832 0 0 0 00000000:00000000:0000 0 4
    834666496 0 0 0 00000000:00000000:0000 0 4
    954204160 0 0 0 00000000:00000000:0000 1 5

    所需的输出不显示无意义的行的数据,因此用空值替换它们:

    SELECT
        vlf_begin_offset = IIF(Q1.is_interesting = 1, Q1.vlf_begin_offset, NULL),
        vlf_sequence_number = IIF(Q1.is_interesting = 1, Q1.vlf_sequence_number, NULL),
        vlf_active = IIF(Q1.is_interesting = 1, Q1.vlf_active, NULL),
        vlf_status = IIF(Q1.is_interesting = 1, Q1.vlf_status, NULL),
        vlf_first_lsn = IIF(Q1.is_interesting = 1, Q1.vlf_first_lsn, NULL),
        Q1.is_interesting,
        grp = 
            SUM(Q1.is_interesting) OVER (
                ORDER BY Q1.vlf_begin_offset 
                ROWS UNBOUNDED PRECEDING)
    FROM 
    (
        SELECT 
            LI.*,
            is_interesting =
                IIF
                (
                    2 =
                    COUNT_BIG(*) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
                    OR 1 =
                    MAX(CONVERT(bigint, LI.vlf_active)) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
                    1,
                    0
                )
        FROM @LogInfo AS LI
    ) AS Q1
    ORDER BY
        Q1.vlf_begin_offset;
    

    结果:

    vlf_begin_offset vlf_sequence_number vlf_active vlf_status vlf_first_lsn is_interesting grp
    8192 253978 0 0 00000000:00000000:0000 1 1
    无效的 无效的 无效的 无效的 无效的 0 1
    无效的 无效的 无效的 无效的 无效的 0 1
    无效的 无效的 无效的 无效的 无效的 0 1
    无效的 无效的 无效的 无效的 无效的 0 1
    17563648 253982 0 0 00000000:00000000:0000 1 2
    34078720 253983 1 2 0003e01f:00000010:0001 1 3
    50593792 253970 0 0 00000000:00000000:0000 1 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    无效的 无效的 无效的 无效的 无效的 0 4
    954204160 0 0 0 00000000:00000000:0000 1 5

    我们需要总结的所有不感兴趣的行现在在它们的组中都是相同的。我们可以删除重复项并使用 plain 计算行数GROUP BY。

    最终查询

    最后润色会生成自定义的偏移列文本,并确保行以正确的顺序出现:

    SELECT
        vlf_begin_offset =
            IIF
            (
                Q2.is_interesting = 1,
                CONVERT(sql_variant, Q2.vlf_begin_offset),
                CONCAT('(', COUNT_BIG(*), ' res clipped)')
            ),
        Q2.vlf_sequence_number,
        Q2.vlf_active,
        Q2.vlf_status,
        Q2.vlf_first_lsn
    FROM 
    (
        SELECT 
            vlf_begin_offset = IIF(Q1.is_interesting = 1, Q1.vlf_begin_offset, NULL),
            vlf_sequence_number = IIF(Q1.is_interesting = 1, Q1.vlf_sequence_number, NULL),
            vlf_active = IIF(Q1.is_interesting = 1, Q1.vlf_active, NULL),
            vlf_status = IIF(Q1.is_interesting = 1, Q1.vlf_status, NULL),
            vlf_first_lsn = IIF(Q1.is_interesting = 1, Q1.vlf_first_lsn, NULL),
            Q1.is_interesting,
            grp = 
                SUM(Q1.is_interesting) OVER (
                    ORDER BY Q1.vlf_begin_offset 
                    ROWS UNBOUNDED PRECEDING)
        FROM 
        (
            SELECT 
                LI.*,
                is_interesting =
                    IIF
                    (
                        2 =
                        COUNT_BIG(*) OVER (
                            ORDER BY LI.vlf_begin_offset 
                            ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
                        OR 1 =
                        MAX(CONVERT(bigint, LI.vlf_active)) OVER (
                            ORDER BY LI.vlf_begin_offset 
                            ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
                        1,
                        0
                    )
            FROM @LogInfo AS LI
        ) AS Q1
    ) AS Q2
    GROUP BY 
        Q2.vlf_begin_offset,
        Q2.vlf_sequence_number,
        Q2.vlf_active,
        Q2.vlf_status,
        Q2.vlf_first_lsn,
        Q2.is_interesting,
        Q2.grp
    ORDER BY
        Q2.grp,
        Q2.is_interesting DESC;
    

    总结执行计划

    结果:

    vlf_begin_offset vlf_sequence_number vlf_active vlf_status vlf_first_lsn
    8192 253978 0 0 00000000:00000000:0000
    (4 分辨率剪辑) 无效的 无效的 无效的 无效的
    17563648 253982 0 0 00000000:00000000:0000
    34078720 253983 1 2 0003e01f:00000010:0001
    50593792 253970 0 0 00000000:00000000:0000
    (13 分辨率剪辑) 无效的 无效的 无效的 无效的
    954204160 0 0 0 00000000:00000000:0000

    用 DMV 调用替换对表变量的单个引用,以在您的服务器上试用它。

    • 2

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve