小编Fre*_*son的帖子

用于学习的间隔重复(SRS)

客户要求我为在线学习网站添加简单间隔重复算法(SRS).但在把自己投入其中之前,我想与社区讨论.

基本上,该站点向用户询问一堆问题(通过自动选择来自数据库的100个总问题中的10个),并且用户给出正确或不正确的答案.然后将用户结果存储在数据库中,例如:

userid  questionid  correctlyanswered  dateanswered
1       123         0 (no)             2010-01-01 10:00
1       124         1 (yes)            2010-01-01 11:00
1       125         1 (yes)            2010-01-01 12:00    
Run Code Online (Sandbox Code Playgroud)

现在,为了最大化用户学习所有答案的能力,我应该能够应用SRS算法,以便用户下次参加测验时,会更频繁地接收错误答案的问题; 比正确回答的问题.此外,以前回答错误但最近经常回答正确的问题应该不经常发生.

有没有人之前实现过这样的东西?任何提示或建议?

Theese是我发现的最好的链接:

sql algorithm

15
推荐指数
2
解决办法
5027
查看次数

这个T-SQL何时变得不正确?或者总是拥有它?

为什么以下(最后两个)语句返回不同的结果.我几乎100%确定他们'用'来返回相同的结果(有人回忆起过去在SQL Server 6/2000中的情况吗?).

CREATE TABLE [dbo].[color](
    [colorid] [int] NOT NULL,
    [title] [varchar](255) NOT NULL
) ON [PRIMARY]
INSERT color SELECT 1,'Red' UNION ALL SELECT 2,'Green' UNION ALL SELECT 3,'Blue'

CREATE TABLE [dbo].[membercolor](
    [memberid] [int] NOT NULL,
    [colorid] [int] NOT NULL
) ON [PRIMARY]
INSERT membercolor SELECT 10,1 UNION ALL SELECT 10,2 UNION ALL SELECT 10,3 UNION ALL SELECT 11,1 UNION ALL SELECT 11,2 UNION ALL SELECT 12,1

SELECT * FROM color
SELECT * FROM membercolor

-- red, green & blue …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

使用MySqlConnection(.NET)与某些客户端的SSL连接到MySql-server失败

这真的是一个关于SSL的问题,而Socket-trace就在下面,所以即使你以前从未使用过MySql,也不要害羞继续阅读.无论如何,我们试图通过SSL(使用客户端.PFX证书)使用MySqlConnection(.NET 2.0和4.0,版本无关紧要)连接到MySql服务器,如下所示:

using (MySqlConnection con = new MySqlConnection(@"server=xxx.yyy.zzz.uuu;database=whopper;user=Username;password=Secret;Certificate Store Location=CurrentUser;Pooling=false;SSL Mode=Required;Certificate Thumbprint=NNNN;Keepalive=60")) {
    con.Open();
}
Run Code Online (Sandbox Code Playgroud)

证书安装在个人存储中,这一切都适用于某些机器; 但不是其他人.堆栈跟踪:

System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream.
   at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest …
Run Code Online (Sandbox Code Playgroud)

.net mysql ssl certificate wireshark

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

具有行级安全性的 SQL Server 2016 - 解决瓶颈

我正在使用 Microsoft SQL Server 2016 进行开发,目前在向数据库添加行级安全性 (RLS) 时面临性能大幅下降的问题。我已经认为我已经找到了问题所在,即查询优化器先生不太喜欢我的非确定性过滤功能。我的问题是,是否有人有 RLS、过滤功能和优化此类案例的经验。- 索引、更巧妙的RLS过滤功能等可以提高性能吗?

我使用 RLS 根据过滤器函数过滤查询中返回/可用的行。下面我设置了一个函数来根据 SESSION_CONTEXT() 函数中的变量过滤行。因此,这很像向 WHERE 子句添加过滤器(除了它不会优化相同的内容,而且这更容易应用于现有的大型应用程序,因为它是在数据库级别完成的)。

请注意,下面的脚本和测试是实际情况的非常简单的版本,但它确实表明应用过滤时性能会下降。在脚本中,我还包含(注释掉)了一些我已经尝试过的东西。

要进行设置,首先运行下面的脚本,这将创建数据库、示例表、过滤功能和安全策略。

-- note: this creates the test database 'rlstest'. when you're tired of this, just drop it.

-- initalize
SET NOCOUNT ON
GO

-- create database
CREATE DATABASE rlstest
GO

-- set database
USE rlstest
GO

-- create test table 'member'
CREATE TABLE dbo.member (
    memberid INT NOT NULL IDENTITY,
    ownercompanyid INT NULL
)
GO

-- create some sample …
Run Code Online (Sandbox Code Playgroud)

sql sql-server row-level-security

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