由于事务日志文件的大小(它增长到 200 GB),我不得不删除它,因为磁盘空间不足。我知道这不是一个好的做法,但无论如何之后表现非常糟糕。
有谁知道在这种情况下是否可以提高性能以及如何提高性能?
我真的很少使用触发器。所以我第一次遇到了一个问题。我有很多带有触发器的表(每个表有 2 个或更多)。我想知道并更改每个表的触发顺序。是否有可能获得这些信息?
添加:
这是我发现的关于 mssqltips 的一篇很好的文章。
在阅读了本网站关于索引的问答后,我想到了一个问题。
如果使用一个时间维度表,其粒度级别较低,那么会怎样呢?应该把索引放在哪里?
Randy Melder 在问题中:“索引”在 RDBMS 上意味着什么?说过 :
将索引视为“目录”......这是指向文件中位置的指针的有序列表,也就是偏移量
在时间维度的情况下,如果时间表存储特定年份的全天,则大多数数据研究可能针对特定日期、特定周、特定月或特定季度进行。
我的问题是:应该为所有这些字段设置索引吗?
Day 应该是独一无二的,所以对于这一天,我完全理解索引的使用。但是一周 id 将有7 次出现,一个月 id 将有30/31 次出现,一个季度 id 将有或多或少120 次出现。
我问你是因为在同一个问题中,大卫·斯皮莱特说:
添加太多索引当然可能是一个糟糕的优化,因为用于存储索引的额外空间(以及在您的数据库看到许多写操作时维护它们的 IO 负载)可能比稍微不太理想的读取查询更糟糕,所以不要过度。
那么对于时间维度的情况,最好的考虑是什么?
我对学习 NoSQL 数据库很感兴趣,我决定从面向文档的数据库开始。有哪些好的资源可以学习此类数据库的概念和良好的设计?
我知道 SQL 表上的 INSERT 可能由于多种原因而变慢:
在我的特定情况下,我如何判断哪个负责?如何衡量页面拆分与非聚集索引更新与其他所有内容的影响?
我有一个存储过程,一次插入大约 10,000 行(来自临时表),每 10k 行大约需要 90 秒。这是令人无法接受的缓慢,因为它会导致其他 spid 超时。
我查看了执行计划,我看到了 INSERT CLUSTERED INDEX 任务和 FK 查找中的所有 INDEX SEEKS,但它仍然没有确切地告诉我为什么需要这么长时间。没有触发器,但该表确实有一些 FKey(似乎已正确索引)。
这是一个 SQL 2000 数据库。
在我的工作中,我使用 PostgreSQL 作为数据库开发 JavaEE 应用程序。虽然我们的生产服务器有一个系统管理员,他也管理我们的数据库服务器,但我们没有全职 DBA,这让我想知道是否有。我想任何专职的 DBA 都可以专门使用 Oracle 数据库。我是否忽略了某些东西,或者我假设没有专门的 Postgres DBA 是否正确?
PS:我只是出于好奇而问这个。
PPS:我想用 DBA 标记这个问题,但显然这将是一个新标记。有人可以为我做这个吗?
当您知道将使用对象关系映射器 (ORM)维基百科访问数据库时,需要注意哪些数据库设计问题?另请参阅实体框架 NHibernate 或 LLBLGenPro。
例如,我将注意 SqlServer 的 RPC 调用的 2100 参数限制。当使用 LLBLgen 并在使用复合主键时连接表时,这是一个问题,请参阅复合键的 MSDN 文章。
我有以下两个带有外键的表status_id:
mysql> describe usr_cookbook;
+-----------+-----------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-----------+------+-----+-------------------+-------+
| user_id | int(11) | NO | PRI | NULL | |
| recipe_id | int(11) | NO | PRI | NULL | |
| status_id | int(11) | NO | MUL | NULL | |
| added_ts | timestamp | NO | | CURRENT_TIMESTAMP | |
+-----------+-----------+------+-----+-------------------+-------+
mysql> describe usr_cookbook_status;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | …Run Code Online (Sandbox Code Playgroud) 我在数据库中有相当数量的数据。我有格式良好的表格和它们之间的良好关系,我的数据中有一些冗余。但是我应该在规范化方面走多远?过多的标准化是否存在性能缺陷?
我想在数据库中存在的列的名称中搜索字符串。
我正在处理一个维护项目,我处理的一些数据库有 150 多个表,所以我正在寻找一种快速的方法来做到这一点。
你有什么建议吗?
performance ×3
learning ×2
sql-server ×2
foreign-key ×1
index ×1
insert ×1
metadata ×1
mysql ×1
nosql ×1
orm ×1
postgresql ×1
trigger ×1