Pergunta

Eu tenho uma tabela que tem crescido para mais de 1 milhão de discos ... hoje (todos válidos)

Eu preciso acelerá-lo ... seria Table Partitioning ser a resposta? Se assim eu posso obter alguma ajuda na construção da consulta?

A tabela tem 4 teclas de valor bigint e isso é tudo com uma chave primária indexados e um desc índice em UserID os outros valores são no máximo 139 (há pouco mais de 10.000 usuários agora)

Qualquer ajuda ou direção seria apreciada:)

Foi útil?

Solução

você provavelmente só precisa ajustar suas consultas e / ou índices. 1 milhão de registros não deve ser causando-lhe problemas. Eu tenho uma tabela com várias centenas de milhões de discos e sou capaz de manter muito alto desempenho. Eu encontrei o profiler do SQL Server para ser bastante útil com este material. Ele está disponível no SQL Server Management Studio (mas não a versão expressa, infelizmente). Você também pode fazer Query > Include Actual Execution Plan ver um diagrama de onde o tempo está sendo gasto durante a consulta.

Outras dicas

Você deve investigar seus índices e consulta carga de trabalho antes de pensar acerca do particionamento. Se você tiver feito um grande número de inserções, o seu índice de cluster pode ser fragmentado.

Mesmo que você estiver usando SQL Server Express pode ainda perfil usando esta ferramenta gratuita: Profiler para Microsoft SQL Server 2005 / 2008 Express Edition

Eu concordo com os outros comentários. Com um razoavelmente pequeno banco de dados (maiores registros da tabela 1 mm) é improvável que qualquer atividade no banco de dados deve fornecer uma carga perceptível se as consultas são otimizados e o resto do código não está abusando o banco de dados com consultas redundantes. É uma boa oportunidade para obter uma sensação para a interação entre as consultas de banco de dados e o resto do código.

Veja meus experimentos sobre a mesa sql particionamento aqui [ http://faiz.kera.la/2009/08/02/does-partitioning-improve-performance-for-sql-tables/] . Espero que este seja útil para você ... E para o seu caso, 1M não é uma figura considerável. Pode ser que você precisa para afinar as consultas do que ir para o particionamento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top