Problemas com a proc_ListUrls

Olá galera,

Perdi uma semana de trabalho em virtude desta Procedure, vou fazer uma breve descrição do meu cenário.

  1. Tenho em torno de 1,5 Milhões de arquivos e junto seus metadados.
  2. Estou salvando esse arquivos em RBS e não em banco.
  3. Estou criando subpastas  para inserção de cada documento de acordo com seu metadado.

O meu case foi que quanto mais informações eu inseria na base de dados mais a performance do Console caia, depois de muitas analises, como citei no começo em torno de uma semana, analisando SQL e Código, percebi que essa Procedure proc_ListUrls estava demorando um tempo muito elevado para executar, então juntamento com meu  Visual Studio comecei a realizar o debug.

Ao executar o trecho de código abaixo:

  1. DocLib = web.Lists[“lista”];
  2. SPFolder SubFolder = DocLib.RootFolder.SubFolders[subPasta];

O atributo marcado em vermelho faz com que a execute a proc_ListUrls e isso realizada uma query sem where, ou seja, eu já tinha mais de 800k de itens cadastrados, em toda iteração que o meu Console vazia retornava os 800k itens. Isto gasta muito processador e memória.

Minha alternativa foi usar o trecho abaixo:

  1. SPFolder subFolder = srcFolders.Add(nomePasta);

Consegue criar uma nova subpasta e dar o get no SPFolder sem  usar DocLib.RootFolder.SubFolders   que é muito caro e esta onerando meu servidor de banco e App.

Espero que esse meu case possa ter ajudado quem vem passando pelo mesmo problema.

Isso ai amigos.

Até a próxima.

 

 

About Gustavo Delfino

Analista / Desenvolvedor de Sistemas com especialização em aplicações Web e SharePoint. Trabalho com .NET e SharePoint desde 2008. Também com Dynamics CRM desde de a versão 4.0. Certificações : MCTS, MCSD, MCSA e MCDS.
This entry was posted in SharePoint 2013 and tagged , . Bookmark the permalink.

One Response to Problemas com a proc_ListUrls

  1. Pingback: Conectando SharePoint no SQL Server | GSDelfino.NET

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s