먼저 내가 초보 프로그래머 일뿐만 아니라 결코 SQL 전문가라고 말해 보지 마십시오. 우리는 언젠가 (2 년 이상) 언젠가 공급자로부터 무거운 짐을 앓고있는 직장에서 앱을 가지고 있습니다. 서버 중 하나에서 MSSQL 인스턴스로 실행되며 데스크톱에 대한 클라이언트 설치가 있습니다. 클라이언트 소프트웨어는 데이터베이스에 대한 직접적인 SQL 호출을 수행하고 있습니다 (클라이언트 설정을 처리하기위한 로컬 mysql 인스턴스도 있음). 통신을 위해 여는 포트는 6-12 개입니다. SQL 관리자를보고, 나는 다양한 클라이언트에서 직접 SQL 호출을 볼 수 있습니다.서버 측 대 클라이언트
나에게 이것은 완전히 잘못된 접근이라고 보입니다. 내가 한 가장 가까운 일은 웹 페이지 + PHP + MySQL이었습니다. 웹 페이지는 요청을하고 모든 처리는 서버 측이되고 결과를 단순히 표시합니다. 내 사용자들이 느낀 부진한 점은 클라이언트 측 요청과 SQL 데이터 처리 때문이라고 생각합니다.
ps : 지금까지하지 않았다면 다른 패러다임으로 전환하는 것이 의문의 여지가없는 것으로 알고 있습니다. 나는 내가 기지에서 멀어 졌는지 알고 싶다.
* "나에게 이것은 완전히 잘못된 접근 방식입니다."* - 이유를 설명해 주시겠습니까? "클라이언트 설정"을위한 로컬 MySQL 인스턴스를 갖는 것이 확실히 이상하게 보입니다. 하지만 중앙 데이터베이스에 액세스하는 응용 프로그램이 잘못되었습니다. * "사용자가 느낀 부끄러움은 클라이언트 측 요청과 SQL 데이터 처리에서 비롯된 것입니다."* - 이것을 확인하기 위해 메트릭을 수집했는지 또는 프로파일 링/디버깅을 수행 했습니까? 병목 현상이 어디 있는지 알지 못하면 최적화하지 마십시오. 당신은 클라이언트에게 일반적으로 프로세싱을 오프 로딩시키는 것이 무엇이든 속도를 높일 것이라고 생각하게합니까? – David
관리 스튜디오를 열고 도구 메뉴를 클릭 한 다음 SQL Server 프로파일 러를 클릭하십시오. 사용자가 "느리게"느끼는 동안 프로덕션 데이터베이스를 가리 키십시오. 나는 당신이보고 싶어하는 것이 단일 요청들의 무리라고 상상한다. 테이블에서 선택 * id = 1; 테이블에서 선택 * id = 2; table에서 id * = 3을 선택하십시오. 그렇지 않은 경우 읽기/쓰기 시간을 확인하고 조금 더 자세한 정보를 얻으십시오. –