在SQL Server(2005+)中,我需要索引一个列(仅限完全匹配)nvarchar(2000+).什么是最具可扩展性,高性能的方法?
在SQL Server(2005+)中,使用以下类型对列进行索引的实际区别是什么:
nvarchar(2000)char(40)binary(16)例如,对索引binary(16)列的查找是否明显快于对索引的查找nvarchar(2000)?如果是这样,多少钱?
显然小在某些方面总是更好,但我不太熟悉SQL Server如何优化其索引以了解它如何处理长度.
我在思考如何在MySQL中进行以下连接时遇到了麻烦.我不确定哪个联接最适合这个任务,所以当有人指出它时我会编辑标题.这是我要做的事情的要点.
我有两个表,一个叫一个Students,另一个Marks.
它们的设置如下,
只有Id字段是唯一的
.----+-----------------+--------+--------. | Id | Name | Parent | Mark | +----+-----------------+--------+--------+ | 1 | Name goes here1 | 0 | 0 | | 2 | Name goes here2 | 0 | 20 | | 3 | Name goes here3 | 2 | 45 | | 4 | Name goes here4 | 2 | 50 | | 5 | Name goes here3 | 1 | 20 | | 6 | Name goes …
有没有一种简单的方法来改变匹配的字符串与javascript的情况?
例
字符串: <li>something</li>
正则表达式: /<([\w]+)[^>]*>.*?<\/\1>/
我想做的是将匹配$ 1替换为所有大写字母(如果可能,在替换内).我不完全确定$ 1是有效匹配而不是字符串 - '$ 1'.toUpperCase不起作用.
那我怎么回事<LI>something</li>呢?方法,而不是正则表达式.
我有一个相当简单的查询:
SELECT
col1,
col2…
FROM
dbo.My_Table
WHERE
col1 = @col1 AND
col2 = @col2 AND
col3 <= @col3
Run Code Online (Sandbox Code Playgroud)
它表现得非常糟糕,所以我在col1,col2,col3(int,bit和datetime)上添加了一个索引.当我检查查询计划时,它忽略了我的索引.我尝试在每个可能的配置中重新排序索引中的列,它总是忽略索引.当我运行查询时,它执行聚簇索引扫描(表大小介于700K和800K行之间)并需要10-12秒.当我强制它使用我的索引时,它会立即返回.我小心翼翼地清除测试之间的缓存和缓冲区.
我试过的其他事情:
UPDATE STATISTICS dbo.My_Table
CREATE STATISTICS tmp_stats ON dbo.My_Table (col1, col2, col3) WITH FULLSCAN
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?我讨厌在存储过程中放置一个索引提示,但SQL Server似乎无法从中获得这个问题的线索.任何人都知道可能阻止SQL Server识别使用索引的任何其他事情是个好主意吗?
编辑:返回的其中一列是TEXT列,因此使用覆盖索引或INCLUDE将无法正常工作:(
我有一个包含大约 500 万条记录的 Postgres 表,我想找到与输入键最接近的匹配项。我尝试在 pg_trgm 模块中使用三元组,但每次查询大约需要 5 秒,这对于我的需要来说太慢了。
有没有更快的方法在 Postgres 中进行模糊匹配?
有没有一种方法可以查看一个数据库中的哪些 SQL 对象使用某个索引。但我不想看到每个对象的执行计划,因为我有很多存储过程和视图
附言。适用于 SQL 2005
几乎与服务器端推送相反,也称为Comet.我想知道是否可以使用长期的HTTP连接将信息推送到服务器.
与简单的XHR不同,连接将保持活动状态,并且数据将按时间间隔流式传输到服务器,因为用户完成了操作等.
使用标准技术我不相信这是可能的,但我愿意接受有关可能的开发或巧妙实现这一目标的建议.目的是完成向服务器的低延迟数据推送,以实现快速有效的单向流.
我对使用flash/java桥接器的套接字实现不感兴趣,因为服务跨域策略或获得java签名的麻烦.欢迎使用无需额外依赖性的原始黑客.优选地,解决方案将使用javascript完成.
如果更改where条件的值,select查询是否可以使用不同的索引?
以下两个查询使用不同的索引,唯一的区别是条件的值和typeenvoi ='EXPORT'或typeenvoi ='MAIL'
select numenvoi,adrdest,nomdest,etat,nbessais,numappel,description,typeperiode,datedebut,datefin,codeetat,codecontrat,typeenvoi,dateentree,dateemission,typedoc,numdiffusion,nature,commentaire,criselcomp,crisite,criservice,chrono,codelangueetat,piecejointe, sujetmail, textemail
from v_envoiautomate
where etat=0 and typeenvoi='EXPORT'
and nbessais<1
select numenvoi,adrdest,nomdest,etat,nbessais,numappel,description,typeperiode,datedebut,datefin,codeetat,codecontrat,typeenvoi,dateentree,dateemission,typedoc,numdiffusion,nature,commentaire,criselcomp,crisite,criservice,chrono,codelangueetat,piecejointe, sujetmail, textemail
from v_envoiautomate
where etat=0 and typeenvoi='MAIL'
and nbessais<1
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我一个解释吗?
大约20分钟前,我刚刚在C门课程中完成了考试.关于考试的第一个问题让我措手不及,并且找到了两个大数字的差异.
目标是按值获取两个结构(N1和N2),并将差异存储在通过引用传递的结构中(N3).我们被允许假设N3是以所有'0'开始的.MAX大小可以是任何值,因此如果数字超过100位,解决方案仍然必须工作.
这是基本代码(原始可能略有不同,这是来自内存)
#include <stdio.h>
#include <stdlib.h>
/* MAX can be any length, 10, 50, 100, etc */
#define MAX 10
struct bignum
{
char digit[MAX];
char decimaldigit[MAX/2];
};
typedef struct bignum bigNum;
void difference(bigNum, bigNum, bigNum *);
/*
Original values in N1 and N2
N1.digit = { '0', '0', '0', '5', '4', '8', '2', '0', '9', '0'};
N1.decimaldigit { '0', '0', '0', '4', '9' };
N2.digit = { '0', '0', '0', '4', '8', '1', '3', '1', '4', '5'};
N2.decimaldigit …Run Code Online (Sandbox Code Playgroud) 我正在使用SQL Server 2008,并且在我的一个表中,我在其标识符上实现了(群集)主键.这是表格描述:
标识符: - IdentifierId int NOT NULL PK - 别名nvarchar(200) - DataType int NOT NULL
我做了两个索引:一个用于Alias,另一个用于DataType.但是,我刚注意到一些奇怪的事情.运行以下查询时:
SELECT * FROM IDENTIFIER WHERE DataType = 1
Run Code Online (Sandbox Code Playgroud)
对于索引和主键,查询实际上比没有它们时运行得慢; 它需要大约10秒钟!索引没有碎片 - 我检查 - 我也在使用它
GO
CHECKPOINT;
GO
DBCC DROPCLEANBUFFERS;
GO
DBCC FREEPROCCACHE;
GO
Run Code Online (Sandbox Code Playgroud)
在查询本身之前.
这个表相当大,上面有几百万个条目.索引和PK在大多数查询中起着至关重要的作用,但在这种情况下,我无法理解为什么查询运行速度较慢.有任何想法吗?
提前致谢
编辑:执行计划显示仅使用聚集索引,并且DataType变量当前最多为150.
indexing ×6
sql-server ×5
sql ×4
performance ×3
javascript ×2
ajax ×1
algorithm ×1
bignum ×1
c ×1
comet ×1
database ×1
fuzzy-search ×1
http ×1
join ×1
mysql ×1
postgresql ×1
regex ×1
streaming ×1