2011-04-07 2 views
1

정보를 수집하고 개체와 두 개의 모음을 만드는 웹 페이지가 있습니다. 세부 정보는 SQL Server의 테이블에 저장됩니다. 이 정보는 보고서를 작성하기 위해 다른 웹 페이지로 전송되어야합니다. 개체와 컬렉션을 Session 개체로 보내거나 ID 만 전송하는 것이 더 효율적입니다 (이 경우 하나는 세 개체 모두에 충분합니다). 그리고 검색하기 위해 새 웹 페이지에서 SQL Server에 대해 세 가지 쿼리를 수행하는 것이 더 효율적입니다. 정보. 고맙습니다. Dov세션별로 웹 페이지 개체간에 보내거나 ID를 보내고 SQL Server에 대한 새 쿼리를 만드는 것이 더 효율적입니까?

답변

0

다른 서버 나 쿼리의 DB가 크고 많은 조인이 들어있는 경우와 같이 비싼 db를 쿼리하는 경우 세션을 사용하는 것이 더 좋을 것이라고 생각합니다.
그러나 세션 변수를 신중히 유지해야 할 필요가 없다면 세션 변수를주의 깊게 살펴야합니다.

+0

좋은 조언에 감사드립니다. –

+0

삭제하는 가장 좋은 방법은 무엇입니까? null 값을 주면? –

+0

네, 그냥 null이 작동합니다. –

0

데이터가 민감하지 않은 경우 성능 향상을 위해 세션을 사용합니다 (이미 필요한 데이터가 있음). 그렇지 않으면 나는 che id를 전달하고 쿼리를 사용합니다.

+0

에 대한 정보를 저장할 것인지 당신입니다 데이터는 세션이나 데이터베이스에서 보유하든 반환됩니다. – Lazarus

+0

대단히 고마워요. 감도만큼 세션이 서버에 저장되므로 보안 문제를 방지하지 않아야합니까? 다시 고마워, Dov –

+0

나는 보안을 위해 세션을 신뢰하지 않는다는 것을 의미한다. – Alessandro

0

세션을 사용하여 성능을 향상하고 서버에 부하를 줄일 수 있지만 에 부정적인 확장 성에 영향을 미칠 수 있습니다. 가능한 한 짧게 저장함으로써 이러한 영향을 줄일 수 있으며 보통은 RPG을 사용할 때 리디렉션됩니다.

병목 현상에 중점을 두어야합니다. 해결하려는 문제는 무엇입니까? 리소스 제한에 도달 한 데이터베이스가 있습니까 (세션 사용)? 또는 Web Server에서 리소스가 부족한 서버에서로드가 발생했습니다 (다시 쿼리 사용)?

1

나는 Cache을 사용합니다. 서버가 과도한 스트레스를 받고있는 경우, 객체가 삭제되고 객체를 다시 빌드하기 만하면됩니다. 그렇지 않은 경우 캐시에서 다시 사용할 수 있습니다. 그리고 특정 시간 동안 사용하지 않으면 자동으로 정리됩니다. 따라서 이전 세션 수준 개체로 메모리를 채우지 못하게됩니다.

더 자세한 :

  • 캐시를 확인, 다른 페이지로
  • 다른 페이지에 ID를 통과 ID
  • 를 사용하여, 캐시에 객체를 넣어, 발견되지 않는 경우는, 다시/
+0

매우 유용한 아이디어에 감사드립니다! –

0

세션을 사용하는 경우 u가 다음 페이지로 이동하여 보고서를 생성 할 수 있지만 추후 사용을 위해 정보가 저장되지 않습니다 .if 생성 된 repo를 저장하려고합니다. 미래의 사용을 위해 r은 왜 데이터베이스에 먼저 정보를 저장하지 않고 데이터베이스에 쿼리를해야하는지에 대해 저장된 repot.so에 대해 데이터베이스를 쿼리해야합니다. 그러면 SQL 쿼리를 사용하여 보고서를 생성합니다.

선택은 유 민감한, 그냥 민감가 아니라 정말 관련이없는 ** 임시 보고서를 원하거나 당신이 의미하는 경우 ** 시간을 내가 당신과 함께 동의 할 거라고 미래

관련 문제