数据库管理员

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

1
PLS-00306错误:如何找到错误的参数?
PLS-00306:“字符串”调用中参数的数量或类型错误 原因:当命名的子程序调用不能与该子程序名称的任何声明匹配时,会发生此错误。子程序名称可能拼写错误,参数可能具有错误的数据类型,声明可能有误,或者声明可能不正确地放置在块结构中。例如,如果使用错误的名称或错误的数据类型参数调用内置平方根函数SQRT,则会发生此错误。 操作:检查子程序名称的拼写和声明。还要确认其调用正确,其参数具有正确的数据类型,并且,如果不是内置函数,则将其声明正确放置在块结构中。 如何快速确定错误的论点? 我有一个带有数十个参数的存储过程。有没有一种简便的方法来检查所用过程与已定义过程之间的差异?我不想逐行检查。

6
是什么导致PHP和MySQL之间奇怪的查询超时?
我是许多不同客户使用的软件即服务应用程序的高级开发人员。我们的软件在由MySQL后端提供支持的Apache / PHP应用服务器集群上运行。在该软件的一个特定实例上,当客户拥有29个以上类别时,用于查询类别名称列表的PHP代码将超时。我知道这没有道理;没有什么特别的数字可以打破这个数字30,而其他客户拥有超过30个类别,但是,问题是当这个安装具有30个或更多类别时,它是100%可复制的,而当类别少于30时,这个问题就消失了。 有问题的表是: CREATE TABLE IF NOT EXISTS `categories` ( `id` int(10) unsigned NOT NULL auto_increment, `name` varchar(64) NOT NULL, `title` varchar(128) NOT NULL, `parent` int(10) unsigned NOT NULL, `keywords` varchar(255) NOT NULL, `description` text NOT NULL, `status` enum('Active','Inactive','_Deleted','_New') NOT NULL default 'Active', `style` enum('_Unknown') default NULL COMMENT 'Autoenum;', …

2
开发人员应该研究DBA知识的哪些领域?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我必须承认这个问题很广泛,所以我将尝试缩小范围。在我们公司中,我们是3-4位开发人员,并且在客户的站点上运行着一些基于SQL Server的安装(数据库大小最大为100GB,最多100个并发用户,Intranet应用程序)。我们当中没有人在运行/维护/管理(任何数据库)方面拥有真正的良好经验。客户甚至没有那么多。到现在为止还可以,但是我不能确定是因为我们做的一切正确,还是因为我们没有擅长的领域/情况。 因此,我正在从DBA的角度寻找运行数据库时需要了解的基本知识。您知道困难的事实,并且知道日常工作中最重要的是什么。 我应该在哪些主题中收集更深的知识,应该听说什么,并且在我第一次面对之前不关心什么? 我知道软件工程师和DBA的问题,但这并不是我想要的。周围也有很多书,但是我想从有实际经验的人那里听到。

2
分片对少量收藏有效吗?
如果我有大量集合,数据库分片看起来很棒。如果我有很多相当大小的收藏怎么办?假设对于1个1亿个文档集合(不是很大的注释),分片是有效的。它对于每个具有10000个文档的10000个收藏集也有效吗? (我认为,如果您将集合替换为表,将文档替换为行,则此问题对于面向表的数据库仍然有效。回答。)
11 mongodb 

2
使用单独的架构如何影响SQL Server 2008的性能?
我想在SQL Server 2008数据库中为具有不同目的的对象使用单独的架构。现在,我们使用一种令人费解的命名约定来表示表或存储过程的目的,并且前缀意味着我们必须扫描五个或六个xharacter才能看到唯一名称的开头。我想为仅用于驱动UI的表(菜单,人员角色等)和维表与事实表等使用单独的架构。 我的问题是,使用多种架构(方案?)会对所有事情都使用旧的dbo产生性能影响吗?

3
如何延迟SQL Server启动
当我们启动SQL Server时,SAN驱动器可能还不可用。有没有一种方法可以将SQL Server启动延迟1分钟?现在,我们必须在启动服务器后重新启动SQL Server。

4
数据库设计中夸大字段大小
我的表中有一些字段是字符串,目前,大多数字段大小都有很高的字符限制。例如,街道名称为100个字符。使用大字段大小会受到惩罚吗?例如,如果我将此字段的限制更改为30个字符,那么尺寸会有所提高还是效率?大约有50个领域可能会缩小。 感谢您的建议。
11 sql-server 

2
关于可保存性的问题
我只需要确认我正确理解了一些内容: 我最近查看了一个SO问题,其中用户在Linq中发布了一个答案,例如: from p in db.table where p.column.AddMinutes(1) > DateTime.Now select p 对于那些不熟悉Linq的人,我希望该语句的输出(未经过公平测试)是: SELECT * FROM table t WHERE DATEADD(min, 1, t.column) >= GETDATE() 我对此发表了回复,说datetime操作应该在变量上(在本例中为GETDATE()),因此实际上该语句应反映如下内容: SELECT * FROM table t WHERE t.column >= DATEADD(min, -1, GETDATE()) 在我的答复中,我现在不确定的部分假定如下: 由于对列的操作,将不使用索引 由于上述原因,查询计划会有所不同(假设尚未测试,则未经测试) 由于上述原因,第一个查询实际上将比第二个查询执行得差。 我的问题: 我在推理中错过了什么吗?我对么?最后,是否有任何机构在有关SARGability方面有任何好的文章?
11 performance  linq 


0
负载平衡器与连接池-有区别吗?
我正在开发一个项目,该项目有望在启动后不久为数百万用户提供服务。数据库是postgres,现在我假设至少需要两台服务器。一位系统管理员(显然是精通可伸缩系统的人)建议在Web服务器和数据库服务器之间放置一个负载平衡器。 我的问题是关于负载平衡与连接池的区别。为了保持性能,我应该选择其中一个还是两个?
11 postgresql 

2
为什么在Oracle 11gR2中,不能用创建它的同一用户删除物化视图?
我与DI_TEST_AL用户一起创建了一个物化视图,命名为MY_MVIEW。它在USER_OBJECTS表中显示为MATERIALIZED VIEW,我尝试将其删除,我收到一条成功消息,但该对象仍然存在。实际上,如果我尝试重新创建它,则会收到类似“对象已存在”的错误。 我看到有一个同名的表属于另一个模式。我认为这不会引起问题,但我想提一提。 这是SQL * Plus的输出: SQL*Plus: Release 11.2.0.1.0 Production on Mon Aug 1 17:01:50 2011 SQL> select object_name, object_type, owner from all_objects where object_name = 'MY_MVIEW'; OBJECT_NAME OBJECT_TYPE OWNER ----------- ----------------- ---------- MY_MVIEW MATERIALIZED VIEW DI_TEST_AL MY_MVIEW TABLE DIDEV11 SQL> DROP MATERIALIZED VIEW MY_MVIEW; Materialized view dropped. SQL> select …

1
如何估算架构中的表大小(Oracle)
我正在尝试估算我的架构中的表大小(以MB为单位)。这是我到目前为止所拥有的: SELECT table_name, owner, last_analyzed FROM all_tables 我对SQL还是很陌生,所以我不知道该怎么做。 谢谢。
11 oracle 

3
MySQL复制是否会受到高延迟互连的影响?
我们有一个位于不同数据中心的原始主控和从属MySQL设置,另一个与主控位于同一数据中心的从属。 数据中心之间的带宽相当高(在网络基准测试中,我们可以达到15MB /秒),但存在延迟,大约为28ms。无论如何它都不算高,但是比同一个数据中心的亚秒级延迟要高得多。 有时,在删除从属服务器时,我们会遇到严重的延迟(2000秒以上),而本地从属服务器会保持最新状态。当查看滞后的远程从属服务器时,SQL线程通常会花费时间等待IO线程更新中继日志。母版同时显示“等待网络”或类似信息。 因此,这意味着它是网络,但是在发生这种情况时,我们仍然拥有可用带宽。 我的问题是:数据中心之间的延迟会影响复制性能吗?从属io线程只是在主事件停止发送事件之前一直传输事件,还是在事件之间以某种方式合并主事件?

2
@table_variable或#temp_table
我有一个具有129列的大用户定义表类型变量。我将一次在此表变量中存储大约2000-3000条记录,并将其传递给各种存储过程和函数以获取其他数据并进行修改。然后,这些其他数据和新的修改将存储在相同类型的新表变量中,并通过OUTPUT参数返回到源存储过程。(这是因为表类型参数只能作为传递READONLY。) 这是我的伪代码: SP1 @tmp tableType { INSERT @tmp EXEC SP2 (@tmp) INSERT @tmp EXEC SP3 (@tmp) } 我应该使用a @table_variable还是#temp_table?

1
XtraBackup和rsync有什么区别?
是的,我将对它们两个都运行strace ...但是,我想知道... 除了rsync -ac src dest以外,XtraBackup在做什么? XtraBbackup有什么特别之处? XtraBackup如何与mysqld交互?
11 mysql  backup  percona 

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.