H2 是一个单线程数据库,在性能方面享有盛誉。其他数据库是多线程的。
我的问题是:多线程数据库什么时候变得比单线程数据库更有趣?有多少用户?多少个进程?什么是触发器?有人有经验可以分享吗?
概括
我已经在我的 PC (Win 7) 上安装了 PostgreSQL 9.1。我有一个使用login=sa
和成功连接到它的小型 Java 应用程序password=""
。连接有效。
但是,它被 PgAdmin III 本身拒绝。我得到:
Error connecting to the server: fe_sendauth: no password supplied
Run Code Online (Sandbox Code Playgroud)
如何使用空密码从 PgAdmin III 连接到我的数据库?
编辑
这只是一个测试,而不是生产代码。
我不是 DBA。我有一个 MySQL 数据库 (5.0.51a) 的情况,我想删除所有具有此前缀的表(大约 110 个表)的“dr_”前缀。我当然可以一一重命名它们,但我想知道是否有 SQL 命令可以一次性执行此操作?
为了清楚起见,dr_hjkd
必须将名为 的表重命名为hjkd
。名为的表rfefd
将保持相同的名称。谢谢。
为了说明我的问题,以下是一个查询,检测尚未插入数据仓库并插入它们的订单的 id:
With NewOrders
As
(
Select OrderID From Orders
Except
Select OrderID From FactOrders
)
Insert Into FactOrders(OrderID, OrderDate, CustomerId)
Select OrderID, OrderDate, CustomerId From Orders
Where OrderID in (Select OrderID from NewOrders);
Run Code Online (Sandbox Code Playgroud)
假设查询是第一次运行并且Orders
包含 4 亿行或更多行:
SQL Server 能否在一条INSERT
语句中处理这么多行?
如果没有,我应该如何进行?我应该限制INSERT
语句中提取的行数吗?引擎可以在单个INSERT
语句中处理多少行?
我在 PostGreSql 数据库中有一个表定义如下:
CREATE TABLE public."MATCH"(
"ITEM_A_ID" bigint DEFAULT 0,
"ITEM_B_ID" bigint DEFAULT 0,
"OWNER_A_ID" bigint DEFAULT 0,
"OWNER_B_ID" bigint DEFAULT 0,
"OTHER_DATA" varchar(100) NOT NULL DEFAULT ''
CONSTRAINT "MATCH_PK" PRIMARY KEY ("ITEM_A_ID","ITEM_B_ID")
);
Run Code Online (Sandbox Code Playgroud)
它将包含很多行。将会对该表执行很多类似以下的查询:
SELECT * FROM "MATCH" WHERE "OWNER_A_ID" = owner_a_id;
SELECT * FROM "MATCH" WHERE "OWNER_B_ID" = owner_b_id;
Run Code Online (Sandbox Code Playgroud)
我正在考虑在OWNER_A_ID
和上创建索引OWNER_B_ID
,因为这些列不是键。这是一个好主意吗?如果是,我应该如何创建它们?我应该为两列创建一个索引吗?我应该创建两个索引吗?我应该包括其他列吗?
关于需要在大型目录结构中随机访问的小型静态文件的数量不断增加,我遇到了一种情况无法控制。我必须尽快大幅减少这些文件的数量。我正在研究释放压力的快速解决方案。
一种选择是将文件的内容(UTF8 文本)移动到数据库中并执行SELECT
s 来替换文件搜索(按名称)。选择语句如下:
SELECT TOP(1) MyContent FROM MyTable WHERE MyContentName LIKE 'criteria%';
SELECT TOP(1) MyContent FROM MyTable WHERE MyContentName LIKE '%othercriteria';
SELECT TOP(1) MyContent FROM MyTable WHERE MyContentName LIKE '%andanothercriteria%';
Run Code Online (Sandbox Code Playgroud)
我们谈论的是每天在 800K 行表上的总共 200K 请求(如果有帮助,我可以轻松地将其拆分为两个)。MyContentName
是键的一部分,将被编入索引。要么有一个条目与表中的条件匹配,要么没有。
我不是数据库管理员专家。这是共享服务器上的 MySQL 实例可以支持的东西还是我的期望太高?
我知道典型的答案是:我应该测试。不幸的是,由于紧急情况,我没有时间进行测试。我需要找到一个快速的解决方案,即使是暂时的,即使它会稍微降低服务响应延迟。
我正在寻找有经验的数据库管理员对此策略的意见。也欢迎提示和建议。
在该postgresql.conf
文件中,可以配置 的授权值ssl_cipher
。但我找不到解释 ALL、ADH、LOW、EXP、MD5 和 STRENGTH 值对应的文档。
我猜MD5是指相应的MD5算法,但是其他值呢?我认为 LOW 不应该在生产环境中使用。
postgresql ×4
mysql ×2
performance ×2
index ×1
pgadmin ×1
select ×1
sql-server ×1
ssl ×1
t-sql ×1
timestamp ×1