小编Bru*_*oLM的帖子

Guid vs INT - 作为主键哪个更好?

我一直在阅读使用或不使用Guid和的原因int

int更小、更快、更容易记住、保持时间顺序。至于Guid,我发现的唯一优点是它是独一无二的。在哪种情况下 aGuid会更好int,为什么?

从我所看到的,int除了数量限制之外没有任何缺陷,这在许多情况下是无关紧要的。

究竟为什么被Guid创造?我实际上认为它除了用作简单表的主键之外还有其他用途。(任何Guid用于某事的实际应用程序的示例?)

SQL Server 上的 ( Guid = UniqueIdentifier ) 类型

performance sql-server primary-key uniqueidentifier

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

如何选择每组的第一行?

我有一张这样的表:

 ID |  Val   |  Kind
----------------------
 1  |  1337  |   2
 2  |  1337  |   1
 3  |   3    |   4
 4  |   3    |   4
Run Code Online (Sandbox Code Playgroud)

我想制作一个SELECT只返回每个 的第一行,按Val排序Kind

示例输出:

 ID |  Val   |  Kind
----------------------
 2  |  1337  |   1
 3  |   3    |   4
Run Code Online (Sandbox Code Playgroud)

如何构建此查询?

oracle greatest-n-per-group

67
推荐指数
4
解决办法
39万
查看次数

我应该为多语言网站选择哪种排序规则?

排序规则对查询速度有任何影响吗?表的大小是否根据排序规则而变化?

如果我想构建一个必须支持所有可能语言的网站(例如 Google),推荐的排序规则是什么?

我将需要存储的字符,例如???,我的搜索过的网站将有返回somethingsóméthíng输入,它必须是不区分大小写也是如此。

我怎么知道哪个是最好的选择?哪种排序规则更适合这种情况?

performance sql-server collation

25
推荐指数
3
解决办法
5028
查看次数

使用 WITH 的多个操作

有没有办法使用WITH语句执行多个操作?

就像是

WITH T AS
(
  SELECT * FROM Tbl
)
BEGIN
  OPEN P_OUTCURSOR FOR
    SELECT * FROM T;

  SELECT COUNT(*) INTO P_OUTCOUNT FROM T;
END;
Run Code Online (Sandbox Code Playgroud)

我想选择一些数据和它的计数...

oracle cte select

16
推荐指数
2
解决办法
3万
查看次数

如何创建包含使用序列的列的表?

我有以下

CREATE TABLE [MyTable]
(
    [ID] [bigint] PRIMARY KEY NOT NULL,
    [Title] [nvarchar](64) NOT NULL
)

CREATE SEQUENCE MyTableID
    START WITH 1
    INCREMENT BY 1
    NO CACHE
    ;
GO
Run Code Online (Sandbox Code Playgroud)

我想在 MyTable 上插入新记录并将 ID 设置为序列的下一个值。我该怎么做?也许是触发器,还是有其他方法?如何?

当我使用 SQL Server 2012 时,我不想使用 Identity 因为 gap bug

sql-server sequence

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

属性 PopulationStatus 对 FullTextCatalog 不可用...如何解决?

我创建了一个新目录(不区分大小写,设为默认目录),当我尝试右键单击 > 属性添加表时,出现此错误:

属性 PopulationStatus 不可用于 FullTextCatalog '[Search]'。此对象可能不存在此属性,或者可能由于访问权限不足而无法检索。(Microsoft.SqlServer.Smo)

执行这段代码我发现我得到了 NULL

SELECT FULLTEXTCATALOGPROPERTY('Search', 'Populatestatus')
Run Code Online (Sandbox Code Playgroud)

当我右键单击表格时,Full-text index它会变灰...

我错过了什么?我怎样才能解决这个问题?

sql-server-2008 sql-server full-text-search

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

如何在 Postgres 中一次更新多个表?

我有几个结构完全相同的表,我需要更新所有表中的值。

为此,我尝试构建以下脚本:

DO
$do$
DECLARE
  i pg_tables%rowtype;
BEGIN
FOR i IN SELECT * FROM pg_catalog.pg_tables where schemaname like 'public' and tablename like '%_knex_migrations'
LOOP
    UPDATE i.tablename SET name = replace(name, '.js', '.ts');
END LOOP;
END
$do$;
Run Code Online (Sandbox Code Playgroud)

我可以看到它i.tablename具有正确的值(我插入到 tmp 表中进行检查),但更新失败。

name: error
length: 223
severity: ERROR
code: 42P01
internalPosition: 8
internalQuery: UPDATE i."tablename" SET name = replace(name, '.js', '.ts')
where: PL/pgSQL function inline_code_block line 7 at SQL statement
file: parse_relation.c
line: 965
routine: parserOpenTable
Run Code Online (Sandbox Code Playgroud)

只是声明i.tablename上的插件UPDATE不起作用。 …

postgresql dynamic-sql plpgsql update

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