小编jco*_*and的帖子

数据库集群的最佳设置

我需要为我投入生产的系统设置一个好的数据库集群解决方案。我希望从专家那里得到一些建议,因为我主要是一名开发人员而不是数据库管理员。

背景
我和我的团队正在用基于 .NET 的系统替换旧系统。目前,我们正在做并行测试,并在慢慢将用户迁移到新系统;然而,令我震惊的是,一旦 thigs 真正开始运行,我们当前的数据库解决方案不足以处理负载。现在,我在一台运行 SQL Server 2008 R2 的 Dell PowerEdge 服务器上拥有我们的整个数据库。它适用于开发和基本测试,但是当我们决定拔掉旧系统的插头并完全使用新系统时,我们将需要诸如故障转移、负载平衡、冗余等之类的东西。我从来没有实施过集群之前,因为我工作的任何地方都已经实施了,而不是我的责任来维护。由于我们正在从头开始实施基于 PC 的系统,因此我正在寻找一个起点。

建议
您对我目前的情况有什么建议:我们有大约 50 个内部用户,他们将负责从数据输入、索赔处理等方面的工作,并且可能有大约 1500-2000 个来自外部的并发连接。进行虚拟设置还是物理设置更好?光纤通道还是SATA?

sql-server-2008 clustering

5
推荐指数
2
解决办法
859
查看次数

如何最有效地索引多对多表

应该索引多对多表吗?什么样的索引最好?

这是一个示例表:

CREATE TABLE user_role (
  userId INT,
  roleId INT
)

--edit: drachenstern - I added the table def based on the original comments, and assumed ints.
Run Code Online (Sandbox Code Playgroud)

sql-server-2005

5
推荐指数
1
解决办法
1611
查看次数

涉及属性时选择 XML 值

我有一个在字段中存储 XML 值的表:OtherData。

来自一行的 XML 值:

< file path="C:\WINDOWS\system32\svchost.exe" />
Run Code Online (Sandbox Code Playgroud)

我想选择所有具有像“%svchost%”这样的属性路径的行

执行此操作的正确 SQL 查询是什么?

sql-server-2008 xml

5
推荐指数
1
解决办法
3893
查看次数

跳过前 12 行后,如何根据前一行计算值?

我正在寻求帮助来编写此查询。我在下面包含了一些示例数据。我最初的前提是从第 13 行开始的所有值都是动态值,前 12 行是静态值。我知道我想用来计算每一行值的公式。

以下是我认为的 DDL

CREATE VIEW [v_AMP_C] AS

    SELECT     in.I_Date  ,--Date
               in.I_O_P   ,--Money
               in.I_O_H   ,--Money
               in.I_O_L   ,--Money
               in.I_C_O   ,--Money 
               c.AMPS12_C  --Money
    FROM       dbo.IC_Raw_In in
    INNER JOIN dbo.AMPS12_C c ON in.I_Serial = c.i_serial
Run Code Online (Sandbox Code Playgroud)

并且通过dbo.IC_Raw_In在除 I_Date 之外的所有列上使用数据类型为 Money的大容量插入将数据导入到此表中。

然后当我运行这个查询时,SELECT * FROM v_AMP_C我得到了下面的输出

I_Date   I_O_P     I_O_H    I_O_L    I_C_O     AMPS12_C
01/10/11 509.75    515      508      512.45    512.45
01/10/11 511.7     511.7    506.1499 506.5499  509.4999
01/10/11 507.1499  510.25   507.1499 510.25    509.7499
01/10/11 510       512.3499 509.2999 512.3499  510.3999
01/10/11 512.5     512.5 …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server-2008 sql-server

5
推荐指数
1
解决办法
1万
查看次数

如何在 SQL Server 中减少日志文件大小而不缩小它

在 SQL Server 中,如何在不 (DBCC) 缩小日志文件的情况下减小日志文件大小。我知道缩小日志文件会释放一些空间,但也会导致碎片化。在简单模式下执行检查点或在完整模式下备份事务日志应该可以解决问题,但它在我的场景之一中不起作用。任何建议/链接都将有助于防止日志文件碎片。

performance sql-server

5
推荐指数
2
解决办法
2万
查看次数

哪些数据库或数据库样式可以使用 git(或其他 dvcs 架构)来管理跨站点复制?

我正在寻找用于字典的数据库软件包(例如您可能在家里某处的死树的大块)。我想要数据库

  1. 可以很好地扩展到一百万个键值对。对通常少于 20 个字符,通常少于 1000 个字符。
  2. 有完美的 UTF-8 支持。
  3. 处理分布式版本控制。我希望它能够很好地处理拥有大量分支和合并分支的情况。这可以是内置的,也可以由 git 之类的东西独立提供。
  4. 与 Ruby 有良好支持的互操作。我计划用 Ruby 编写一个与数据库对话的桌面程序。(如果发生,Ruby 也可以用于编写 Web 部件。)
  5. 反应相当灵敏(尽管我希望它很快)。
  6. 无论是在桌面上还是在为 Web 上的某些内容提供数据时,都可以很好地处理更改。(希望这个项目能够进入 Web 部件。)
  7. 是免费软件(由 RMS 定义)并且免费提供。

所有这些数据都将手工输入。

如果这个数据库有类似 github 的东西,那不会有什么坏处。不过,我不知道是否有人提供了类似的数据库。

没有人的工作、职业或公司依赖于这个决定。

有什么建议?

database-design database-recommendation

5
推荐指数
1
解决办法
288
查看次数

添加文件夹/文件关系的最佳设计

我得到了一个包含 Projects 和 Media_files 的数据库。他们处于简单的一对多关系中。

我现在需要将文件夹添加到项目中。Media_files 可以放在 Folders 中,Folders 中可以有 Folders。

我不知道最好的方法是,首先,让文件夹属于其他文件夹,其次,保持 Projects 和 Media_files 之间当前关系的最佳方式,或者是否最好打破这种关系。

项目是一个简单的表:

id, 
title, 
description, 
owner_id. 
Run Code Online (Sandbox Code Playgroud)

文件夹是一个全新的表格,但我对它们的基本想法是:

id, 
project_id, 
parent_folder_id, 
title, 
description
Run Code Online (Sandbox Code Playgroud)

database-design

5
推荐指数
1
解决办法
1331
查看次数

为大型(?)WordPress 数据库加速 SQL 查询?

我正在使用一个名为feedwordpress的 WordPress 插件,以便在WordPress上运行一个类似网站的星球(它从其他网站获取内容,并获得他们的许可)(在此处查看)。

该插件很棒,除了一件事 - 它每周左右让我的(VPS)服务器提交一次。

在最近与网络管理员的电子邮件交流中,他写道:

看起来 mysql 资源使用量的增加确实是由 r-bloggers.com 运行的慢查询引起的。这是正在生成的一些日志的副本。您需要进一步优化此站点和数据库,以使其尽可能高效地运行。如果已经进行了这些更改,您最好的选择是考虑对您的 VPS 进行大规模升级,因为您的站点需要和看到的高级别或资源和流量。

以下是日志:

# Time: 110614 16:11:35
# User@Host: rblogger_rblogr[rblogger_rblogr] @ localhost []
# Query_time: 104 Lock_time: 0 Rows_sent: 0 Rows_examined: 54616
SELECT SQL_CALC_FOUND_ROWS wp_rb_posts.* 
  FROM wp_rb_posts 
  WHERE 1=1 AND (
   (guid = '235cbefa4424d0cdb7b6213f15a95ded') OR 
   (guid = 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') OR 
   (guid = 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') OR 
   (MD5(guid) = '235cbefa4424d0cdb7b6213f15a95ded') ) AND 
  wp_rb_posts.post_type IN 
      ('post', 'page', 'attachment', 'revision', 'nav_menu_item') AND 
  (wp_rb_posts.post_status = 'publish' OR 
   wp_rb_posts.post_status = 'future' OR …
Run Code Online (Sandbox Code Playgroud)

mysql optimization

5
推荐指数
1
解决办法
809
查看次数

如何在 MySQL 5.5.20 中设置复制(主/从)?

我有两台服务器都在 MySQL 5.5.20 上运行,我想设置复制,所以主服务器上的每个更新/插入都会立即反映在从服务器上。

我尝试遵循本教程(我使用了本网站上给出的说明。)但它不起作用。我发现在完成所有这些之后我不能......((((请用你的经验更新这部分)))

您能否建议我在 MySQL 5.5.20 中使用一种经过测试且有效的方法来执行此操作?

mysql replication mysql-5.5

5
推荐指数
1
解决办法
8479
查看次数

mysql_upgrade 到 5.7 后,优化器不在大 IN 子句上使用索引

我有一个与其他人描述的类似的问题。

  • 在MySQL 5.6.23-72.1-log中,子句中包含大量值的查询IN使用索引,需要10分钟才能运行;
  • 在5.7.19-17中,相同的查询不使用索引,并且需要至少2(有时超过4)小时

我试过了

  • set session eq_range_index_dive_limit=4294967295; 没有运气。
  • set @@global.max_seeks_for_key=100; 还是没有运气。

这是在我升级了一些服务器之后发生的。

mysql_upgrade 没有报告任何问题。

正如我所指出的,我看到了其他问题,但其中提出的答案都没有解决我的问题。


非常感谢罗兰多到目前为止的回答。我继续在 my.cnf 的 [mysqld] 部分对此进行了测试

optimizer_switch = index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=off,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=off,derived_merge=off
Run Code Online (Sandbox Code Playgroud)

遗憾的是,索引仍然没有被拾取。我尝试关闭所有新添加的选项:

duplicateweedout=off
condition_fanout_filter=off
derived_merge=off
Run Code Online (Sandbox Code Playgroud)

我什至尝试过,因为我在我的解释计划中SET optimizer_switch='block_nested_loop=off' 得到了'Using where; Using join buffer (Block Nested Loop)'和。'Using temporary; Using filesort'

还在挠头。谢谢,最重要的是升级导致很多查询不使用索引,这仍然是一个痛苦。数据库接近 2TB,但查询在 5.6 上的最后几个 master 中运行良好

mysql migration upgrade mysql-5.6 mysql-5.7

5
推荐指数
1
解决办法
6552
查看次数