目前我们在同一驱动器上获得了 TEMPDB 数据(数据文件数:2)和日志文件。
在监控过程中,我们发现了 TempDB 上的 I/O 问题。
我们有一个额外的驱动器可用 - 我们应该将 TempDB 日志文件移动到新驱动器,还是应该将第二个 TEMPDb 数据文件移动到新驱动器上以帮助我们减少 I/O 问题?
例如,从这样的表开始:
create table t as
select 'A' as x, level as y from dual connect by level<=5
union all
select 'B' as x, level+2 as y from dual connect by level<=5
union all
select 'C' as x, level as y from dual connect by level<=3
union all
select 'D' as x, level+2 as y from dual connect by level<=3;
alter table t add primary key (x, y);
select * from t;
X Y
- -
A 1
A 2
A …Run Code Online (Sandbox Code Playgroud) 我最近听到了这样的建议:“如果您使用的是 DISTINCT,我会挑战您修复您的代码。” 但是,我想知道这个建议背后的考虑因素,以及这是否意味着我应该以不同的方式处理以下问题。
问题背景
我有一个非规范化的日期维度表(Kimball 星型架构)。在这张表中,我折叠了几个第三范式表:日期、绝对周、绝对月和年。对于这些折叠表中的每一个,我都有一个表示唯一标识的列、一个文本名称列和一个数字手动排序索引。这是显示结构的示例行,数字仅用于说明(为便于阅读采用垂直形式):
为了便于理解,我选择使用日期维度表,但该问题可以转换为任何其他涉及层次结构的维度表。
问题概要
我想用相关的文本字段检索一组不同的周和月组合。
可能的解决方案
1. 与众不同
SELECT DISTINCT MonthId, WeekId, YearName, MonthName, WeekName
FROM DimDate
Run Code Online (Sandbox Code Playgroud)
请注意,我不能排除 MonthId 或 WeekId,因为我不能假设自由文本字段是唯一的。
2. 分组依据
SELECT MIN(YearName), MIN(MonthName), MIN(WeekName)
FROM DimDate
GROUP BY MonthId, WeekId
Run Code Online (Sandbox Code Playgroud)
3. 行号
WITH grp AS (
SELECT …Run Code Online (Sandbox Code Playgroud) 我很快就会将 Debian Lenny 网络服务器迁移到另一台主机和 Debian Squeeze。即使在 Squeeze 上,标准 MySQL 安装也是 5.1,因此将默认为 MyISAM - 我倾向于坚持我通常的经验法则,我尽可能保持 Debian 安装的标准以获得最大稳定性,特别是因为启用 InnoDB 没有似乎是万无一失的
数据库上的事务负载很小,因为它是一个低流量网站。与其他任何事情相比,我更关心保持管理尽可能简单。该网站运行由第三方开发的定制版 WordPress。
我应该补充一点,我对任何形式的 MySQL 的经验都很少。
我应该坚持我的计划还是借此机会研究 InnoDB?
我在下面写了一个查询,它给我一个语法错误,为什么会这样做,
SELECT MAX('Row') FROM
(SELECT ROW_NUMBER() OVER(ORDER BY ID DESC) 'Row' FROM USERS)
Run Code Online (Sandbox Code Playgroud)
错误描述:
Incorrect syntax near ')'.
Run Code Online (Sandbox Code Playgroud)
我不明白:(
我一直在尝试将数据库从 SQL Server 2000(SBS 2003 的一部分)迁移到 SQL Server 2008 R2 Express Edition
我天真地尝试使用 SQL Server 导出和导入向导。这在一定程度上奏效了,但似乎尝试将视图作为表导入,而将存储过程完全排除在外。
执行这种迁移的最不痛苦的方式是什么?
是否可以通过一个请求清除所有表?我尝试了以下没有结果。
DELETE a,b,c,d,e,f,g,h,i,j,k,l,m,n,o
FROM jos_bet_details as a, jos_bet_1x2 as b, jos_bet_1x2_best as c, jos_bet_1x2_prev as d,
jos_bet_1x3 as e, jos_bet_1x3_best as f, jos_bet_1x3_prev g, jos_bet_hcp as h,
jos_bet_hcp_best i, jos_bet_hcp_prev j, jos_bet_ou k,jos_bet_ou_best l,
jos_bet_ou_prev m, jos_bet_debug n, jos_bet_deleted o
Run Code Online (Sandbox Code Playgroud) PostgreSQL 实现了execute ... using将参数传递给动态 SQL的选项,据我所知,这个功能是在 8.4 版中引入的。我们使用的是Greenplum,它是从8.2 版的PostgreSQL 分叉出来的,所以它没有这个特性。
有没有其他方法可以在 Greenplum 或 PostgreSQL 8.2 中做同样的事情?
我有 100 个 csv 文件,依次命名为 1,2,3....100.csv
我用这个脚本复制 csv 文件:
COPY location FROM 'C:\Program Files\PostgreSQL\9.5\data\´1.csv' DELIMITER ',';
Run Code Online (Sandbox Code Playgroud)
我会用一个涵盖所有文件(1,2,3 .... 100.csv)的脚本来执行复制。
我在 MS Windows 上使用 pgadminIII
我希望并行安装多个版本的 SQL Server 以同时运行。我想让他们监听不同的 IP 地址。
它们将在 Windows Server 2019 Core 上运行。
我目前使用这样的东西安装:
Setup.exe /qs /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /SAPWD="MYSECRETPASSWORD" /SQLSVCINSTANTFILEINIT="True" /TCPENABLED=1 /IACCEPTSQLSERVERLICENSETERMS /SECURITYMODE=SQL
Run Code Online (Sandbox Code Playgroud)
Setup.exe 上没有指定要侦听的 IP 地址的开关,对吗?如果不是,在 Setup.exe 运行后从命令行配置它的最简单方法是什么?
sql-server ×3
migration ×2
mysql ×2
count ×1
csv ×1
delete ×1
dynamic-sql ×1
greenplum ×1
import ×1
innodb ×1
installation ×1
myisam ×1
oracle ×1
postgresql ×1
query ×1
select ×1