小编use*_*re3的帖子

T-SQL参数嗅探重新编译计划

我有SQL命令

exec sp_executesql N'SELECT TOP (10) * FROM mytableView WHERE ([Name]) LIKE (''%'' + 
  (@Value0) + ''%'') ORDER BY [Id] DESC',N'@Value0 varchar(5)',@Value0='value'
Run Code Online (Sandbox Code Playgroud)

此sql命令将在22秒后执行。我发现发生这种情况是因为我有一个参数嗅探。如果将其添加到SQL命令选项(重新编译)的末尾,则它的工作速度很快:在Managements Studio中显示了0秒

exec sp_executesql N'SELECT TOP (10) * FROM mytableView WHERE ([Name]) LIKE 
  (''%'' + (@Value0) + ''%'') ORDER BY [Id] DESC 
    option(recompile)',N'@Value0 varchar(5)',@Value0='value'
Run Code Online (Sandbox Code Playgroud)

是否可以重新编译/重新创建/删除/更新执行计划,以使我的SQL命令在没有选项(重新编译)的情况下工作?

我已尝试申请

  • 更新统计
  • sp_recompile
  • DBCC免费程序
  • DBCC更新(0)
  • DBCC FREESYSTEMCACHE('ALL')
  • 不幸的是,ALTER INDEX和REBUILD的所有这些操作并没有帮助我。

sql t-sql sql-server

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

系统间依赖关系的UML图

哪个 UML 图最适合显示我们的 IT 系统和其他外部 IT 系统之间的依赖关系?

例如,我想在图表上显示:

  1. 系统 A 从系统 B 获取数据
  2. 系统 B 可以从系统 A 调用某些功能

我想知道组件图和序列图之间的关系。

你怎么认为?

uml modeling sequence-diagram enterprise-architect component-diagram

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

我的查询有什么问题

以下是我的查询:

CREATE TABLE report_invoice(
'ID' INT(10) NOT NULL AUTO_INCREMENT,
'Invoice_No' VARCHAR(30) NOT NULL,
'Invoice_Type' INT(10) NOT NULL,
'Operator' VARCHAR(50) NOT NULL,
'Customer' VARCHAR(50) NOT NULL,
'Invoice_Date' DATE NOT NULL,
'Total' DECIMAL('10,2'),
PRIMARY KEY ('ID'));
Run Code Online (Sandbox Code Playgroud)

我一直收到这个错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ''ID'
INT(10) NOT NULL AUTO_INCREMENT,
'Invoice_No' VARCHAR(30) NOT NULL,
'Invoic' at line 2  
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

SQL 2008案例在哪里

我正在使用SQL 2008服务器.

我有一张桌子(比如Salemen),其中一列是推销员的状态(列是xStatus).

xStatus为null,或"I"表示非活动状态,或者"D"表示将来删除.

需要一个查询,用户可以指定查看所有销售人员,所有状态或仅查看活动的销售人员.

我在Where子句中遇到存储过程查询问题.

变量传递给query(@Action),指定在哪里查看所有状态(@Action = 1)或仅查看活动的Salesmen(@Action = 2).

伪代码

Select *
From Salesmen
Where
If @Action = 1
select regardless of status
If @Action = 2
only select when xStatus is null
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

我的数组中的随机数由最后一个randomed填充

我创建了一个程序,用户可以在其中选择有多少数字的数组,这个数组应该有随机值.嗯,事实并非如此.要在每次尝试为每个数组参数签名后检查,我会使console.writeline显示随机分配的编号.最后整个数组由最后一个randomed这个方法填充:

static void Main(string[] args)
{

    Console.WriteLine("Set the number of arguments in mineArray:");
    string argumentsNumber = Console.ReadLine();
    int argumentsNumberInt = Convert.ToInt32(argumentsNumber);
    int[] mineArray = new int[argumentsNumberInt];
    Random rand = new Random();

    //set up values to each index of array
    foreach (int i in mineArray)
    {
        mineArray[] = rand.Next(1, 10);
        Console.WriteLine(i + " " + mineArray[i]);
    }
    string a = "asd";

    foreach (int k in mineArray)
    {
        if (mineArray[k] % 3 == 0 || mineArray[k] % 5 == 0)
        {
            if …
Run Code Online (Sandbox Code Playgroud)

c# arrays random numbers

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

使用roslyn从文本位置转到定义

如何在当前自定义位置和文件(项目或解决方案)中获取任何符号的文件名和定义位置?

我执行以下步骤(简化说明):

  1. 通过以下方式创建语法树和编译的集合:

    SyntaxTrees = new List<SyntaxTree>();
    foreach (var file in projectFiles)
        syntaxTrees.Add(SyntaxTree.ParseText(File.ReadAllText(file));
    Compilation = Compilation.Create("temp.cs", null, SyntaxTrees, new MetadataReference[] { mscorlib });
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在语法树中获取当前令牌:

    var token = currentTree.GetRoot().FindToken(textPos, false);
    
    Run Code Online (Sandbox Code Playgroud)

符号有适当的定义获取方法:DeclaringSyntaxNodes.我怎样才能解决tokenSymbolSemanticModel?谢谢.

c# go-to-definition roslyn

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