Uma correção para as respostas anteriores - o SQL Server Express suporta apenas um único soquete de CPU - mas se o soquete tiver vários núcleos, o Express os usará e você obterá paralelismo. Pouco conhecido fato ...
Nossa empresa tem vários ambientes do SQL Server, alguns deles trabalham com o MS-SQL Server 2005 Express Edition e outros com o Standard ou Enterprise Edition.
Em uma discussão hoje, um DBA disse o MSSQL Express Ed. seria menos eficiente que a Standard Edition.
Bem, eu sei que existem os seguintes limites: O servidor usa apenas 1 GB de memória Servidor usa apenas 1 CPU
mas não sei se há outras limitações. Qual é a sua experiência, existem outros problemas de desempenho possíveis?
Uma correção para as respostas anteriores - o SQL Server Express suporta apenas um único soquete de CPU - mas se o soquete tiver vários núcleos, o Express os usará e você obterá paralelismo. Pouco conhecido fato ...
Não há limitações "artificiais" nas consultas padrão, ou seja, "select * from tableFoo" não será executado de forma mais lenta, exceto nos casos óbvios em que os núcleos da CPU seriam benéficos.
Existem alguns outros recursos ausentes que melhoram o desempenho em determinados casos, como visualizações indexadas, indexação de texto completo etc.
Como a maioria das perguntas, realmente depende do (s) aplicativo (s) exato (s). Se o seu aplicativo se beneficia de qualquer um dos recursos ausentes no Express Edition (consulte a grade de comparação da Microsoft: link ), então sim o desempenho vai sofrer. Se não, se não.
Acredito que seu próximo passo (se a necessidade impuser e a política do escritório e / ou relacionamentos interpessoais permitirem) for imprimir esse gráfico e pedir ao seu DBA para detalhar quais recursos ausentes em falta apresentarão problemas.
O SQL Server Express não será executado mais lentamente do que as outras edições além do fato de que ele suporta apenas 1 CPU e 1 Gig de RAM.
O MSDE do SQL Server 2000 apenas suportava 5 instruções concorrentes sendo executadas, e qualquer outra coisa teria que esperar até que um slot livre aparecesse, mas isso foi removido na edição do SQL 2005 Express.
Um problema com o SQL Express é que ele ficará em spool após ~ 15 minutos de tempo ocioso e liberará seu cache. Isso causará um atraso quando os usuários começarem a acessá-lo novamente. Dependendo dos seus padrões de uso, isso pode ser um problema. Você pode ler sobre os detalhes aqui: link
Maior limitação que não seja o uso de CPU e RAM que você já identificou é que o total de quaisquer arquivos de dados de bancos de dados não pode ser maior do que 4Gb de tamanho. O total total de um banco de dados pode ser maior do que isso, pois os arquivos de log de transações não contam para os 4 GB.
No MSDE2000 (equivalente ao SQL 200 da Express Edition), o limite de tamanho era de 2 Gb.
para reindexar
USE {DB NAME}
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
if @tablename='DUAL' or @tablename='IMPORT_CONTROL_TRN'
begin
print 'skipping ' +@tablename
FETCH NEXT FROM TableCursor INTO @TableName
continue
end
else
begin
if @TableName='calltrak'
begin
print 'reindexing calltrak'
DBCC DBREINDEX(@TableName,' ',50)
end
else
begin
print 're-indexing ' + @TableName
DBCC DBREINDEX(@TableName,' ',70)
end
end
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE TableCursor
exec sp_updatestats
Tags sql-server