小编Eva*_*oll的帖子

如何对 Microsoft SQL Server 进行基准测试

在我的公司中,我们有多个虚拟机托管 SQL Server 2008 R2,其中一些机器的性能与其他机器不同,有些是因为 Vmware 主机非常繁忙,有些是因为与 NAS 的连接速度较慢。

有没有一种方法可以在测试 SQL 数据库或其他已知的最佳实践中运行一些 SQL 代码,我可以用它在每个 VM 和基准/基准性能中运行一些性能测试,以便我可以在移动之前了解哪台机器的行为比其他机器更好那些机器到 Prod 或 UAT 环境?谢谢,大卫。

benchmark sql-server

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

如何在没有 PostGIS 的情况下存储纬度和经度?

我知道这里有类似的问题已经得到回答,但不幸的是,它们都不适合我。我正在通过创建一个页面来破解我的方式,该页面将在地图上显示多个位置。我正在使用 HTML 5 映射和 Google 地图。我已将我拥有的地址转换为 long/lat,并将它们与其他属性一起存储在 CSV 文件中。

我曾尝试存储为点、字符变化和数字以及尝试创建自己的定义,但没有成功。该表已经存在,我只需要添加这些额外的列。我宁愿不使用 PostGIS,因为这感觉就像增加了额外的复杂性级别,而我完全可以不用。

所以你有什么建议?

postgresql datatypes spatial

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

如何使用 VIEW 将 Postgresql ltree 结构转换为嵌套集?

我想问一个关于仅使用VIEWs将 PostgreSQL ltree 结构转换为仅具有一个查询的嵌套集结构的方法的问题。

例如,我有一个表,其中包含相互关联的数据,如下图所示:

表结构

所以,表声明是

KeywordLtree(id INT PRIMARY KEY, value TEXT, path ltree);

-- And the data is:

pk |  value  |  path  |
0  |   'A'   |   ''   |
0  |   'B'   |   '1'  |
0  |   'C'   |   '2'  |
0  |   'D'   |  '1.3' |
0  |   'E'   |  '1.4' |
0  |   'F'   |  '1.5' |
0  |   'G'   |  '2.6' |
0  |   'H'   |  '2.7' |
Run Code Online (Sandbox Code Playgroud)

我必须将此表转换为这样的表:

KeywordSets(id INT PRIMARY KEY, …
Run Code Online (Sandbox Code Playgroud)

postgresql hierarchy postgresql-9.4

8
推荐指数
1
解决办法
1362
查看次数

postgresql 中多种记录类型的 generate_series

我有两个表,我想查询:pest_countspests看起来像:

CREATE TABLE pests(id,name)
AS VALUES
  (1,'Thrip'),
  (2,'Fungus Gnosts');

CREATE TABLE pest_counts(id,pest_id,date,count)
AS VALUES
  (1,1,'2015-01-01'::date,14),
  (2,2,'2015-01-02'::date,5);
Run Code Online (Sandbox Code Playgroud)

我想使用 postgres'generate_series来显示日期系列中发现的每种害虫的数量:

预期成绩

name         | date       | count
-------------+------------+-------
Thrip        | 2015-01-01 | 14
Thrip        | 2015-01-02 | 0
....
Fungus Gnats | 2015-01-01 | 0
Fungus Gnats | 2015-01-02 | 5
...
Run Code Online (Sandbox Code Playgroud)

我知道我需要类似以下的东西,但我不确定如何做剩下的事情:

SELECT date FROM generate_series('2015-01-01'::date, '2015-12-31'::date, '1 day') date
Run Code Online (Sandbox Code Playgroud)

postgresql

8
推荐指数
1
解决办法
2865
查看次数

如何在不使用 UNION ALL 或临时表的情况下显示每个存储的行两次?

名为 的相关表emp包含以下数据:

CREATE TEMPORARY TABLE emp AS
SELECT * FROM ( VALUES (1,'A'), (2,'B'), (3,'C') );

 ID  Name
 --  ----
 1    A
 2    B
 3    C
Run Code Online (Sandbox Code Playgroud)

数据操作操作的输出或结果集应如下所示:

 ID  Name 
 --  ----
 1    A
 1    A 
 2    B
 2    B
 3    C
 3    C
Run Code Online (Sandbox Code Playgroud)

要求

必须获得符合以下条件的输出:

  • 未使用 UNION ALL 运算符与所采用的 SELECT 语句相关联
  • 不使用临时表
  • 不对现有表使用 UPDATE 操作

注意:这个场景是一个面试官给我带来的。

interview-question duplication

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

VACUUM VERBOSE 输出,不可移除的“死行版本无法移除”?

我有一个 Postgres 9.2 DB,其中某个表有很多不可移动的死行:

# SELECT * FROM public.pgstattuple('mytable');
 table_len  | tuple_count | tuple_len | tuple_percent | dead_tuple_count | dead_tuple_len | dead_tuple_percent | free_space | free_percent 
------------+-------------+-----------+---------------+------------------+----------------+--------------------+------------+--------------
 2850512896 |      283439 | 100900882 |          3.54 |          2537195 |     2666909495 |              93.56 |   50480156 |         1.77
(1 row)
Run Code Online (Sandbox Code Playgroud)

正常的吸尘也显示许多不可移动的死行:

# VACUUM VERBOSE mytable;
[...]
INFO:  "mytable": found 0 removable, 2404332 nonremovable row versions in 309938 out of 316307 pages
DETAIL:  2298005 dead row versions cannot be removed yet.
There were 0 unused …
Run Code Online (Sandbox Code Playgroud)

postgresql vacuum

8
推荐指数
2
解决办法
8291
查看次数

SQL Server 是否支持自定义域?

PostgreSQL 支持DOMAIN规范,来自 SQL 2011 工作草案规范,

域是命名的用户定义对象,可以在某些可以指定数据类型的地方将其指定为数据类型的替代。域由数据类型、可能是默认选项和零个或多个(域)约束组成。

这使我们能够做一些非常酷的事情,例如通过不区分大小写的文本类型为电子邮件实现HTML5 规范的它确保所有访问数据库的客户端都对插入的数据进行完整性检查。

CREATE DOMAIN email AS citext
  CHECK ( value ~ '^[a-zA-Z0-9.!#$%&''*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$' );
Run Code Online (Sandbox Code Playgroud)

SQL Server 是否支持触发器系统之外的任何此类功能?

sql-server datatypes sql-clr sql-standard domain

8
推荐指数
1
解决办法
1199
查看次数

结果集的PostgreSQL网络压缩?

我正在阅读有关使用 PostgreSQL 进行网络压缩的内容,以查看是否有任何东西可以提供允许大结果集通过网络传输到远程 Web 服务器的内容。似乎没有这种东西。有没有解决方案可以做到这一点,这不是 SSL?

安全证书

似乎有一个涉及 SSL 的解决方案。阅读了与此相关的线程后,似乎该解决方案不再可取,因为它使系统容易受到CRIME worldwide错误的影响。

尽管不可取,但您似乎至少可以在当前重新启用 SSL 压缩,OPENSSL_DEFAULT_ZLIB但将来它将被删除,并且当前在 openssl 中的编译时被禁用

no-zlib         [default]
no-zlib-dynamic [default]
Run Code Online (Sandbox Code Playgroud)

postgresql network compression

8
推荐指数
1
解决办法
2318
查看次数

为什么集合返回函数 (SRF) 在 FROM 子句中运行得更慢?

这是一个数据库内部问题。我正在使用 PostgreSQL 9.5,我想知道为什么设置返回函数 (SRF),也称为表值函数 (TVF) 在FROM子句中运行得更慢,例如当我执行这些命令时,

CREATE TABLE foo AS SELECT * FROM generate_series(1,1e7);
SELECT 10000000
Time: 5573.574 ms
Run Code Online (Sandbox Code Playgroud)

总是比,慢得多

CREATE TABLE foo AS SELECT generate_series(1,1e7);
SELECT 10000000
Time: 4622.567 ms
Run Code Online (Sandbox Code Playgroud)

是否有一个通用规则可以在这里制定,以便我们应该始终FROM子句之外运行 Set-Returning Functions ?

postgresql performance database-internals functions set-returning-functions

8
推荐指数
1
解决办法
483
查看次数

如何在 PostgreSQL 中编写十六进制文字?

你如何在 PostgreSQL 中编写十六进制文字?就像说我想要0xCC,如果我这样做;

SELECT 0xCC;
 xcc 
-----
   0
(1 row)
Run Code Online (Sandbox Code Playgroud)

所以 PostgreSQL 将 解析xcc为别名。

postgresql syntax

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