Consultas muy largas al hacer item.add e item.getitembyid

20/03/2007 - 12:50 por Fonsi | Informe spam
Hola a todos:
Estamos teniendo un problema extraño de rendimiento con sharepoint, nos
gustaría saber si a alguien le ha pasado y si le ha encontrado solución.

El problema viene al acceder por el modelo de objetos a un elemento de una
lista o al añadir uno nuevo, con las sentencias:

myItem = myWeb.Lists("Procesos").GetItemById(IdProceso)
myItem = myWeb.Lists("Historico Procesos").Items.Add

respectivamente.

El problema es que justo al pasar por esa línea de código, en una traza
puesta en el sql nos sale una consulta que en el primer caso tarda un sg y
pico, pero en el segundo en ocasiones pasa de 10 sg.

La lista historico procesos tiene 8768 elementos, y el problema es que
para hacer un item.add o getitembyid ejecuta esta consulta que devuelve todos
los elementos...

Alguna idea de como mejorar esto?

Aquí os dejo también la consulta que ejecuta, por si os es familiar a
alguno.

Muchas gracias por adelantado.

Un saludo


EXEC sp_executesql N'SELECT TOP 2147483648 t2.[tp_Title] AS
c18c1,UserData.[ntext2],UserData.tp_Created,UserData.[tp_ID],t1.[tp_Title] AS
c17c1,UserData.[tp_Version],UserData.[tp_InstanceID],UserData.[tp_ItemOrder],UserData.[tp_GUID],UserData.tp_ID,UserData.[nvarchar1],UserData.[tp_Created],UserData.[tp_Author],t2.[tp_Email]
AS
c18c2,UserData.[tp_Editor],UserData.[tp_ModerationStatus],UserData.tp_Version,t1.[tp_Email] AS
c17c2,UserData.[tp_HasAttachment],UserData.[ntext1],UserData.[nvarchar2],t3.[tp_ID] AS
c19c20,UserData.[int1],UserData.[tp_Modified],UserData.[nvarchar3] FROM
UserData LEFT OUTER JOIN UserInfo AS t1 ON
(UserData.[tp_Author]=t1.[tp_ID] AND t1.tp_SiteId = @L1 AND
UserData.tp_ListId = @L2) LEFT OUTER JOIN UserInfo AS t2 ON
(UserData.[tp_Editor]=t2.[tp_ID] AND t2.tp_SiteId = @L1 AND
UserData.tp_ListId = @L2) LEFT OUTER JOIN UserData AS t3 ON
(UserData.[int1]=t3.[tp_ID] AND t3.tp_ListId = @L3 AND UserData.tp_ListId =
@L2) WHERE UserData.tp_ListID=@L2 ORDER BY UserData.[tp_ID]
Asc', N'@L1 uniqueidentifier,@L2 uniqueidentifier,@L3 uniqueidentifier',
'2B6375B9-AF34-4633-BB8E-8A4AC9999AB0','14530077-46F0-469A-BD6F-02BBE4BF3C14','6CA146E4-5CE9-4732-85A5-1E6A045159C5'
 

Leer las respuestas

#1 Gustavo
20/03/2007 - 21:22 | Informe spam
Hola,
Yo miraria primero que el (los) servidor(es) de SQL esten rindiendo sin
problemas (que el CPU no se vaya al 100%, suficiente RAM y disco duro). Las
Bases de Datos de SharePoint son ajustadas al maximo para el mas alto
rendimiento, y cualquier cambio puede tener efectos colaterales
imprevisibles. Microsoft no proporciona informacion al respecto, y si
"arreglas" algo por un lado, te puedes cargar el rendimiento por otro.
Saludes,
Gustavo
http://www.gavd.net/servers/default.aspx
http://geeks.ms/blogs/gvelez/


"Fonsi" wrote:

Hola a todos:
Estamos teniendo un problema extraño de rendimiento con sharepoint, nos
gustaría saber si a alguien le ha pasado y si le ha encontrado solución.

El problema viene al acceder por el modelo de objetos a un elemento de una
lista o al añadir uno nuevo, con las sentencias:

myItem = myWeb.Lists("Procesos").GetItemById(IdProceso)
myItem = myWeb.Lists("Historico Procesos").Items.Add

respectivamente.

El problema es que justo al pasar por esa línea de código, en una traza
puesta en el sql nos sale una consulta que en el primer caso tarda un sg y
pico, pero en el segundo en ocasiones pasa de 10 sg.

La lista historico procesos tiene 8768 elementos, y el problema es que
para hacer un item.add o getitembyid ejecuta esta consulta que devuelve todos
los elementos...

Alguna idea de como mejorar esto?

Aquí os dejo también la consulta que ejecuta, por si os es familiar a
alguno.

Muchas gracias por adelantado.

Un saludo


EXEC sp_executesql N'SELECT TOP 2147483648 t2.[tp_Title] AS
c18c1,UserData.[ntext2],UserData.tp_Created,UserData.[tp_ID],t1.[tp_Title] AS
c17c1,UserData.[tp_Version],UserData.[tp_InstanceID],UserData.[tp_ItemOrder],UserData.[tp_GUID],UserData.tp_ID,UserData.[nvarchar1],UserData.[tp_Created],UserData.[tp_Author],t2.[tp_Email]
AS
c18c2,UserData.[tp_Editor],UserData.[tp_ModerationStatus],UserData.tp_Version,t1.[tp_Email] AS
c17c2,UserData.[tp_HasAttachment],UserData.[ntext1],UserData.[nvarchar2],t3.[tp_ID] AS
c19c20,UserData.[int1],UserData.[tp_Modified],UserData.[nvarchar3] FROM
UserData LEFT OUTER JOIN UserInfo AS t1 ON
(UserData.[tp_Author]=t1.[tp_ID] AND t1.tp_SiteId = @L1 AND
UserData.tp_ListId = @L2) LEFT OUTER JOIN UserInfo AS t2 ON
(UserData.[tp_Editor]=t2.[tp_ID] AND t2.tp_SiteId = @L1 AND
UserData.tp_ListId = @L2) LEFT OUTER JOIN UserData AS t3 ON
(UserData.[int1]=t3.[tp_ID] AND t3.tp_ListId = @L3 AND UserData.tp_ListId =
@L2) WHERE UserData.tp_ListID=@L2 ORDER BY UserData.[tp_ID]
Asc', N'@L1 uniqueidentifier,@L2 uniqueidentifier,@L3 uniqueidentifier',
'2B6375B9-AF34-4633-BB8E-8A4AC9999AB0','14530077-46F0-469A-BD6F-02BBE4BF3C14','6CA146E4-5CE9-4732-85A5-1E6A045159C5'

Preguntas similares