标签: database

什么是aspnet_Users和aspnet_Membership?我应该使用哪一个?有什么不同?

我在我的网站上使用默认会员级别.但我对ASPNETDB的复杂数据库设计有点困惑.

假设我想添加有关用户名称,姓氏,地址等的详细信息......我应该在哪里放置aspnet_Membership表或aspnet_Users表,为什么?我的意思是我可以看到我应该把详细信息放在aspnet_Membership上.但是又为什么有两个和aspnet_Users上的绑定...

或者假设我正在为我的用户详细信息添加一个消息传递到我应该键入的表中?

我很困惑,如果你能告诉我使用这两张表,我将不胜感激.

下面是您应该拥有的默认ASPNETDB的图表:

在此输入图像描述

database sql-server asp.net database-design asp.net-membership

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

无痛数据库架构更改

看到这个:需要一种更好的方法来管理数据库架构更改

有什么可以为MySQL做的吗?

现在,如果有架构更改,我必须稍微考虑一下,查看差异,手动应用更改,然后运行数据迁移/转换脚本.

很想知道是否有可以减轻疼痛的方法/工具.

mysql database deployment schema

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

当现有索引包含新索引中的所有列时,为什么创建此新索引可以提高性能?

我有Log和LogItem表; 我正在编写一个查询来从两者中获取一些数据.有成千上万,Logs每个Log可以有多达125LogItems

有问题的查询是复杂的,所以我正在跳过它(如果有人认为重要的是我可以发布它),但是当我运行SSMS估计查询计划时,它告诉我一个新的非聚集索引会将性能提高到100% .

Existing Index: Non-clustered
Key Colums (LogItem): ParentLogID, DateModified, Name, DatabaseModified

Query Plan Recommendation
CREATE NONCLUSTERED INDEX [LogReportIndex]
ON [dbo].[LogItem] ([ParentLogID],[DatabaseModified])
Run Code Online (Sandbox Code Playgroud)

只是为了好玩,我创建了这个新索引并运行了查询,令我惊讶的是,现在我的查询需要大约1秒才能运行,而不是10秒以上.

我假设我的现有索引将涵盖这个新查询,所以我的问题是为什么在我的新查询中使用的唯一列上创建新索引可以提高性能?我是否应该为我的where子句中使用的每个唯一列组合都有一个索引?

注意:我不认为这是因为SQL Server正在缓存我的结果,我在创建索引之前运行了大约25-30次查询并且它一直需要10-15秒,在索引之后它现在是一致的~1或更少.

sql t-sql database sql-server indexing

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

Microsoft SQL数据库的WebSocket侦听器

我目前正在开发一个项目,该项目必须使用WebSockets作为向我的客户端传输数据的方式.基础设施看起来像这样.
客户端 - > Web服务器 - > Microsoft SQL数据库

我认为最理想的情况是这样的:客户端打开服务器的套接字.服务器打开Microsoft SQL数据库的套接字.每当更新数据库(插入一些数据)时,DB都会将数据写入套接字.服务器将数据写回客户端.这可能有点单调乏味,也许我可以以某种方式直接从客户端打开到数据库的套接字?

我想知道如果MSSQL数据库更新,是否有办法自动通知套接字到Web服务器,以便它可以处理该信息.

主要问题是真的; 我将如何做这项工作?我已经研究过一些与WebSockets一起工作的项目,比如Node.JS和Socket.IO,还有Tornado.虽然我没有找到任何关于在哪里寻找这个特定功能的线索.我已经为NodeJS的MSSQL数据库找到了一些相当不稳定的驱动程序,但是不知道是否有任何方法可以向数据库建立套接字并在数据库被泵入数据库时​​立即通过套接字发送数据.

我也意识到在客户端和数据库之间建立一个套接字并不聪明,说安全性最低,因为现在这不是问题,并且SQL不是实时应用程序的方法,但我必须遵守它目前 :)

编辑1:

感谢@tomfanning我现在知道这个问题的解决方案,但严重怀疑性能的提高.让我为你描绘一下情况.如果我在MSSQL数据库上使用Trigger,我想象这会发生.

情况1

  1. 数据库得到更新
  2. 触发器被拉动
  3. CLR脚本建立与Web服务器的连接.通过一个套接字,它必须为每个触发器打开和关闭,或者通过HTTP(S)请求,包括打开和关闭一个Header(这是无用的开销)
  4. Web服务器接收触发器并将数据发送到客户端.
  5. 客户端更新.

现在想象相同的场景,然后用AJAX

情况2:

  1. 在客户端中为AJAX请求设置了1000ms的超时
  2. 客户端时间输出并发出AJAX请求
  3. 数据库执行一些查询并回发结果
  4. 客户端更新.

在情境1中,您需要请求和套接字发出/接收,在情况2中,您只需要一个请求.如果我要将AJAX请求的超时设置为10MS,那么用户看起来好像它是像websocket这样的实时应用程序?或者情况1仍然会更有效率,我只是夸大其词?

提前致谢!

database sockets websocket node.js socket.io

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

核心数据:如何从一个核心数据条目设计树数据结构

我正在努力设计一个coreData模型,我只有一种类型的条目称为"To-Do".每个To-Do条目与其他(子)条目具有0,1,2,...或n关系,就像To-Do一样.因此,To-Do条目之间的关系设计了具有未定义数量的子节点的树结构.下图应说明案例(E =核心数据条目):

            E                            
           /|\                        
          / | \                       
         E  E  E                     
        / \               
       /   \         
      E     E               
     /|\                   
    E E E          
Run Code Online (Sandbox Code Playgroud)

我的猜测是对数据进行建模,如下图所示.我没有选择反向关系,因为Xcode与它建立了多对多关系,这与树设计不匹配.

在此输入图像描述

我也看到了data model inspector一个叫做"父母入境" 的东西.所以我开始相信我可能必须使用相同的属性创建名为"To-Do-Child"的第二个条目,并将另一个条目设置为父条目.手册告诉我,这可能是错误的道路......

问题:

  1. 如何在核心数据模型文件中对此方法进行建模?提到的那个是正确的吗?

  2. 我如何能够获取指定父节点的所有待办事项?由于它们来自同一个条目,因此我无法解决我想要的确切To-Do子树.

database iphone xcode core-data ios

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

RavenDB是否适合这个概念?

首先,需要注意的是:我对文档数据库背后的概念比较陌生,所以这可能是一个非常明显的问题.

我需要设计一个系统来维护构成高度复杂产品的深层次的零件目录.它将详细说明构成每个部件的物理组件 - 每个部件可以是其他部件的组件 - 一直到最终产品.像这样:

Widget
 |- Sprocket
 |  |- A4 nut
 |  |- B15 screw
 |  |- Sprocket Backshell
 |- Flange
 |  |- A4 washer
 |  |- Flange Housing
 |- Widget Assembly
Run Code Online (Sandbox Code Playgroud)

此示例中的小部件随后可以作为其他产品下方的部件合并.

每种产品可能包含数万至数十万个零件,每种类型的零件都必须保持不同的无关属性.这些属性可以包括相关部分之间的连接.

我们现在在SQL Server中有一个设计不佳的系统版本,作为一个包含大约120列和几百万条记录的单个平面表.此表中大约85%的字段为空.我的工作是用更可维护,更高效且更不容易出错的东西来取代它.

在关系数据库中有效地构建它将意味着规范化 - 在这种情况下,每种类型的部件都有一个表.这可能是一个我怀疑的问题,因为有数百种零件类型,并且定期添加具有自己特定属性的新零件类型.

我想使用RavenDB,因为文档数据库适合部件的动态特性,但我不知道它是否适合,或者我是如何在文档方面实现系统的.产品本身就是根对象,但由于它们的大小,我无法将产品存储为单个文档.

RavenDB是否适合这个概念?是否有关于如何最好地在文档中表示它的指示?

database architecture ravendb

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

使用VARCHAR vs TEXT在MySQL中存储小型XML文档的优缺点是什么?

如果要存储的XML文档总是小于64 KiB(即AFAIK,VARCHAR的限制),那么VARCHAR和TEXT列类型的优缺点是什么呢?

mysql sql database

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

具有大量读写的大量数据的最佳数据存储

我需要在数据库中存储大约1亿条记录.其中约60-70%将每天删除,每天插入相同数量的记录.我觉得像Hbase这样的文档数据库,Big Table就适合这个.还有许多其他数据存储,如Cassandra,MongoDb等.哪种数据存储对这类问题有用,因为每天会有大量的读/写(数百万的订单).

database hbase datastore bigdata document-database

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

将sqlite数据库文件导出为XML,然后导入Excel电子表格

我试图从过去12小时开始执行此任务,但仍然无法执行此操作...现在我将一个名为"testDatabase.db"的sqlite数据库文件作为备份文件放入SD卡中.现在我想要将数据库打开成电子表格格式,以便最终用户可以访问数据库并将此电子表格数据库存储到他的系统中,然后进一步打印输出和其他用途.

我研究了一些教程,其中写道,你可以先将你的数据库文件转换成XML,然后将这个文件导出为ex​​cel格式.

但我无法将我的数据库文件导出为XML格式...根据我的要求我想要按钮单击我的数据库文件应该转换为xml格式,以便最终用户可以使用它.

谢谢..

database sqlite android android-sdcard

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

这被认为是正常形式的失败吗?

将用户的宗教信息存储在"用户表"中时,如果你向下看一列,你会多次看到"基督徒",多次看到"穆斯林"等等,认为是正常形式的失败?哪种形式?

我看待它的方式:

  • 1nf:没有重复的列.

  • 2nf:没有连接的主键,因此不适用.

  • 3nf:不依赖于nonkey属性.

以这种方式存储用户宗教似乎不会失败任何正常形式,但它似乎非常低效.评论?

sql database normalization

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