小编Joh*_* N.的帖子

函数 PARSENAME() 是否与 QUOTENAME() 相反

在问题MS-SQL 上是否有任何(隐藏的)内置函数来取消引用对象名称?作者正在寻求有关是否存在“取消引用”引用字符串的内部函数的建议。作者McNets已经注意到,一些内部函数可以处理引用(例如[MyTable])和未引用(例如)MyTable传递的参数值(例如OBJECT_ID())。

David Browne - Microsoft给出的答案 ( 1 ) 中,引述如下:

... QUOTENAME 的反面是 PARSENAME,它具有导航多部分名称的附加功能。

我不同意这部分答案的以下评论:

我不同意,你可以修改传递给一个参数PARSENAME()来显示多部分的部分标识是它的SERVERDATABASESCHEMAOBJECT部分。但恕我直言,PARSENAME与此相反的说法QUOTENAME有点牵强。

我现在的问题是:

函数PARSENAME()是相反的QUOTENAME()吗?

sql-server functions string-manipulation

7
推荐指数
1
解决办法
1739
查看次数

如何测试 MySQL“需要安全传输”是否正常工作?

我激活了选项文件中名为“需要安全传输”的复选框,该文件位于 MySQL Workbench 中。

我如何知道 MySQL“需要安全传输”是否正常工作?此时我应该使用命令行吗?

mysql mysql-workbench command-line ssl

7
推荐指数
1
解决办法
5884
查看次数

是否可以使用 Microsoft SQL Server 进行横向扩展?

是否可以横向扩展 SQL Server 数据库?

有一些针对故障转移群集和始终开启的解决方案,但是否有针对 SQL Server 上的负载平衡和水平分区的解决方案?

Azure 中有一些,但在独立的 SQL Server 实例中没有...

sql-server

7
推荐指数
1
解决办法
8580
查看次数

如何以小时为单位设置 MySQL binlog 保留时间?

我的情况是 MySQL 日志分区在不到一天的时间内就被填满了。我无法禁用二进制日志,因为我需要它们进行复制。

我知道我可以设置日志保留时间,但它接受天数,搜索只显示我这个https://serverfault.com/questions/179165/can-expire-logs-days-be-less-than-1-day-in -mysql问题,建议通过脚本自己完成。

由于这个问题已经有将近 8 年的历史了,我想知道现在是否有可能。

如果重要,我正在使用 Percona MySQL 5.7

mysql percona mysql-5.7

7
推荐指数
1
解决办法
2万
查看次数

何时重用非参数化、非平凡、即席查询计划

我目前正在调查一个应用程序,该应用程序似乎针对它正在查询的数据库生成 99% 的即席查询计划。我可以通过运行以下语句来检索查询计划缓存中的对象摘要来验证这一点:

抱歉无法在 SE 编辑器中输入代码,因此截图

查询 sys.dm_exec_cached_plans 的 select 语句

参考:计划缓存和优化临时工作负载(SQLSkills.com / K. Tripp) 稍作修改

上述查询的结果如下:

CacheType            Total Plans          Total MBs                               Avg Use Count Total MBs - USE Count 1                 Total Plans - USE Count 1
-------------------- -------------------- --------------------------------------- ------------- --------------------------------------- -------------------------
Adhoc                158997               5749.520042                             2             2936.355979                             126087
Prepared             1028                 97.875000                               695           46.187500                               576
Proc                 90                   69.523437                               39659         21.187500                               21
View                 522                  75.921875                               99            0.453125                                3
Rule                 4                    0.093750                                22            0.000000                                0
Trigger              1                    0.070312                                12            0.000000                                0    
Run Code Online (Sandbox Code Playgroud)

在计划缓存中的 158'997 个即席查询中,126'087 个查询只执行了一次。 …

sql-server execution-plan sql-server-2016

7
推荐指数
1
解决办法
165
查看次数

ntext 列中 REPLACE() 的替代解决方案

概述

\n

我有一个图片数据库,其中记录了用相机拍摄的照片的信息。该数据库包含一个有 256 列的表pictures,其中包含有关已拍摄照片的信息。

\n

一列的Comments格式为ntext并包含 CR/LF。
\n还有另外 21 列已配置为ntext.

\n

我使用 SSMS 中的函数将数据库中的数据提取到平面文件中Tasks | Export Data...。然后,导出的数据由外部合作伙伴传输到将在不久的将来使用的新系统。导出文件 (CSV) 包含约 256 列,其中 21 列可能包含 CR/LF。

\n

问题

\n

字段/列包含大量影响数据分析的CommentsCR/LF (SQL: CHAR(13), )。CHAR(10)

\n

我尝试使用REPLACE(expression, value, value)来搜索 CR/LF 并将其替换为 ,@@并且正在考虑Export Data在 SSMS 中使用导出期间实现这一点。

\n

然而,该REPLACE()函数返回一个

\n
\n

消息 8116,级别 16,状态 1,第 4 行
\n参数数据类型 ntext 对于替换函数的参数 1 …

sql-server regular-expression type-conversion sql-server-2014 sql-server-2016

7
推荐指数
1
解决办法
1578
查看次数

被杀死的会话是否出现在查询存储中?

是否有任何选项可以在查询存储中查看已终止的会话?

我这么问是因为我们有一个附加工具,如果会话运行时间超过 30 分钟(KILL命令),它就会终止会话。

我想检查查询存储中已终止查询的执行计划。我在查询存储中找不到被这个附加应用程序杀死的会话/查询。

sql-server kill query-store

7
推荐指数
2
解决办法
773
查看次数

SET LOCK_TIMEOUT,是基于会话还是基于语句?

LOCK_TIMEOUT最后是什么时期?

我在登录后执行一个SET LOCK_TIMEOUT 10SELECT @@LOCK_TIMEOUT一个命令并返回 10。在此之后,我立即SELECT @@LOCK_TIMEOUT再次执行 a并返回 -1。我会认为它仍然是10。

我在 MSDN 站点上做了一些查找,但找不到LOCK_TIMEOUT是基于会话还是基于语句。

sql-server sql-server-2008-r2 configuration locking

6
推荐指数
1
解决办法
7688
查看次数

PostgreSQL GIN pg_trgm 默认操作符类

我正在将 GIN 索引与pg_trgm用于索引varchar字段的模块一起使用。所以,要定义一个索引,我必须这样写:

CREATE INDEX gin_field_idx ON table_name USING gin (field gin_trgm_ops);
Run Code Online (Sandbox Code Playgroud)

如果我排除运算符类 ( git_trgm_ops) 并写入:

CREATE INDEX gin_field_idx ON table_name USING gin (field);
Run Code Online (Sandbox Code Playgroud)

PostgreSQL 将引发错误:

错误: 数据类型字符变体没有用于访问方法“gin”的默认运算符类
提示: 您必须为索引指定运算符类或为数据类型定义默认运算符类。

如何从模块定义默认操作符方法?

没有帮助。它描述了如何从扩展运算符和函数定义新的运算符类。但我必须从模块中定义默认操作符类。

任何帮助将不胜感激 :-)。

postgresql index

6
推荐指数
1
解决办法
1万
查看次数

SQL Server 中标识符的尾随美元符号“$”有何意义?

转储一些内部视图,例如sys.system_objects在此问题中完成的我看到某些标识符以美元符号结尾$

CREATE VIEW sys.system_objects AS
    -- cutout
    FROM sys.sysschobjs$ o -- XXX: HERE
    LEFT JOIN sys.syspalnames n
    -- not relevant
Run Code Online (Sandbox Code Playgroud)

而且,这也有效

SELECT * FROM sys.sysschobjs$;
Run Code Online (Sandbox Code Playgroud)

即使只是按照惯例,这里的规则是什么?我应该在我自己的代码中使用它吗?

搜索我看到很多关于 Excel(无关)和 Money 文字(也无关)的内容。

我发布了另一个我认为无关的问题,但我相信这个终端$会对此有更多的了解。请随意检查该问题以获取一些混淆的示例

sql-server naming-convention database-internals

6
推荐指数
1
解决办法
5047
查看次数