数据库管理员

希望提高数据库技能并向社区中的其他人学习的数据库专业人员的问答

4
MySQL将UTC时间设置为默认时间戳
如何设置默认值为当前UTC时间的时间戳列? MySQL将UTC_TIMESTAMP()函数用于UTC时间戳: mysql> SELECT UTC_TIMESTAMP(); +---------------------+ | UTC_TIMESTAMP() | +---------------------+ | 2012-07-01 11:36:35 | +---------------------+ 1 row in set (0.00 sec) 所以我尝试了: CREATE TABLE `blah` ( `creation_time` TIMESTAMP DEFAULT UTC_TIMESTAMP, ... 和其他变体一样UTC_TIMESTAMP(),但没有成功。

2
按列排序应该有索引吗?
我在表中添加了用于搜索结果的索引。我按ASC或DESC顺序显示结果。所以那列应该有索引吗?我在那张桌子上还有2个索引。对该列建立索引或不建立索引会对性能产生怎样的影响?

4
是否应向VARCHAR列添加任意长度限制?
根据PostgreSQL的文档VARCHAR,VARCHAR(n)和之间没有性能差异TEXT。 我应该在名称或地址列中添加任意长度限制吗? 编辑:不是欺骗: 当所有值均为36个字符时,使用char vs varchar可以使索引查找明显更快 我知道这种CHAR类型是过去的遗迹,我不仅对性能感兴趣,而且对诸如Erwin的其他利弊也很感兴趣。

1
更改mysql表注释
我知道mysql 表注释可以在创建时定义为: create table (...)comment='table_comment'; 您可以通过以下方式显示评论: show table status where name='table_name'; 创建表注释后如何更改(更改?)表注释。我的意思是全部删除并重新创建表。
35 mysql  table  comments 

2
什么时候适合使用SQL Server Developer Edition?[关闭]
您是否在DEV和STAGING环境中的服务器级计算机上使用SQL Server Developer Edition? 我正在做一个大型项目,其中(如果它通过了概念验证阶段),我们将有几台大型地理分布的企业级数据库服务器,运行SQL Server 2012 Enterprise Edition。 我们将有一个生产环境,最初将有3个服务器,我们的登台环境将至少有3个服务器,而我们的开发环境将有1个服务器(承载3个实例)。 我的印象是,我们只需要为实际生产服务器获取企业许可证,并且由于它们不是“生产”,因此我们可以在开发人员和登台环境中获得开发人员版本。 其他消息来源告诉我,我们需要在所有上述计算机上获得企业许可证,并且开发人员版仅适用于其工作站上的单个开发人员。 由于开发人员版具有Enterprise的所有性感功能,因此我无法在工作站级计算机上真正看到它的价值,尤其是对于开发和测试我们正在构建的高可用性系统的类型。 如果我们必须为开发服务器支付企业许可证,那将扼杀我们的概念验证阶段,从而扼杀该项目。在过渡环境上强制使用企业许可证将使管理人员只想完全跳过过渡。

1
在每个T-SQL语句之后执行
在每个SQL语句之后使用GO语句的背后原因是什么?我了解GO表示批处理已结束,并且/或者允许声明声誉,但是在每个声明之后使用它有什么优势。 我只是很好奇,因为很多Microsoft文档等都在每次声明后开始使用它,或者也许我刚刚开始注意到。 还有什么被认为是最佳实践?

1
如何阅读查询成本,它始终是百分比吗?
我目前正在学习SQL 70-433(Microsoft认证考试),并且对“查询成本”性能指标感到非常困惑。 根据我可以通过Google找到的任何文档,查询成本是一个百分比数字,代表整个批次中任何一部分所占的百分比。这对我来说似乎有些奇怪,因为我对特定查询的绝对优点感兴趣,而不是相对于碰巧出现在其中的其他查询的优点。 但是后来我想,也许您希望做的是并排放置两个替代查询,将它们作为“一批”运行,然后成本低于50%的任何一个成为赢家。 但是,第6章中关于查询成本的讨论是Microsoft的SQL 70-433培训工具包的一课,似乎与此没有任何关系。 这是一个示例:它们显示了一个包含两个相关子查询的查询,然后通过用OUTER APPLY替换子查询来对其进行改进。结果:“此查询的成本约为76,而第一个查询的成本是151的两倍。” 然后,他们进一步改善了查询,并将成本从76降低到3.6。它们并不暗示这些数字是百分比,而它们确实暗示它们是绝对值,与作为独立对象的查询有关,而没有引用任何其他查询。而且,无论如何,第一个查询的成本为151%? 在本章的后面,它们显示了一个执行计划的屏幕快照,该屏幕分为三个部分。第一个显示“成本:0%”,第二个显示“成本:1%”,最后一个显示“成本:99%”,但屏幕截图下方的(本书本身的)文本“此查询的成本为0.56” 。我猜他们意味着其他成本,但是我找不到其他地方的参考。 有人可以帮忙吗?我很困惑。
34 sql-server  ssms 

4
NOLOCK总是不好吗?
我是一个报表开发人员,想要使我的查询尽可能高效。我曾经和一个DBA一起工作,他告诉我-我相信是因为我一直在生产服务器上处理报表-可以NOLOCK在每个查询中使用。 现在,我与一个NOLOCK在任何情况下都被禁止使用的DBA一起工作-即使我的报告(由于在几个表上严重缺乏索引)正在停止复制和系统更新。我认为,在这种情况下,a NOLOCK将是一件好事。 由于我的大多数SQL培训都针对不同的DBA提出了截然不同的意见,因此我想向各种各样的DBA提出这一要求。


4
MongoDB的find和findone调用之间的区别
我正在一个项目上,我不确定find游标的工作方式和游标的工作方式之间是否有区别findOne。是findOne的包装find().limit(1)吗?我一直在寻找它,也许有人知道mongodb是否具有特殊的方法。我正在为mongodb使用PHP API,如果有所作为。
34 mongodb 

2
索引不能使执行速度更快,并且在某些情况下会降低查询速度。为什么会这样呢?
我正在尝试使用索引来加快处理速度,但是在进行联接的情况下,索引并不能改善查询的执行时间,在某些情况下,它会降低处理速度。 创建测试表并填充数据的查询为: CREATE TABLE [dbo].[IndexTestTable]( [id] [int] IDENTITY(1,1) PRIMARY KEY, [Name] [nvarchar](20) NULL, [val1] [bigint] NULL, [val2] [bigint] NULL) DECLARE @counter INT; SET @counter = 1; WHILE @counter < 500000 BEGIN INSERT INTO IndexTestTable ( -- id -- this column value is auto-generated NAME, val1, val2 ) VALUES ( 'Name' …
34 sql-server  index 

3
运行总数与计数?
如标题所示,我需要一些帮助来使T-SQL的运行状况更全面。问题是我需要做的总和是一个计数的总和: sum(count (distinct (customers))) 假设我只运行计数,结果将是: Day | CountCustomers ---------------------- 5/1 | 1 5/2 | 0 5/3 | 5 我需要输出的总和为: Day | RunningTotalCustomers ---------------------- 5/1 | 1 5/2 | 1 5/3 | 6 在使用该coalesce方法之前,我已经完成了总计操作,但从未进行过计数。现在我不知道该怎么做了。
34 sql-server  t-sql 

1
如何基准化PostgreSQL查询?
我想对包含我为PostgreSQL编写的用户定义函数的查询进行基准测试。是否有任何标准方法可以运行此类基准测试? 我知道可以\timing在psql提示符下打开计时,但理想情况下,我希望有一个脚本可以自动处理所有事情:运行查询几次,每次运行后清除PostgreSQL缓存(可能是通过重新启动PostgreSQL的服务),并输出平均运行时间(使用的内存为佳)。

5
如何在SQL Server中正确处理TimeZone?
我的本地开发服务器在中东,但我的生产服务器在英国。 我需要向用户显示其所在时区的日期。例如,如果用户在沙特阿拉伯,那么我需要根据沙特阿拉伯格式显示时间。 是否应该创建一个名为TimeZone的新数据库表并将时间保存在UTC中?

1
SQL Server中的SLEEP_TASK等待类型-它表示什么?
我以前没有看过SLEEP_TASK等待类型,今天我似乎收到了很多。 我不是官方的DBA,而是知道某些DBA知识的SQL Server开发人员。上周末我们将服务器升级到10.52.2500.0-R2SP1。 我在网上可以找到的所有信息都表明SLEEP_TASK服务器正在等待某种内部过程完成。我没有任何阻塞或任何后台进程(如检查点或幽灵清理)运行,因此我有些困惑。 以前有没有人看过这种等待类型,如果可以的话,您能告诉我原因是什么吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.