Microsoft MVP성태의 닷넷 이야기
글쓴 사람
리세 (licenniezh at naver.com)
홈페이지
첨부 파일
 

안녕하세요. 저는 C#(WPF)으로 서버와 클라이언트를 만들고 있습니다. 굼금한게 C#과 MariaDB와의 기능입니다. 상황은 이렇습니다. 1. 1000~2000개의 클라이언트가 서버로 매우 짧은 간격으로 붙는다. 2. 서버에서는 각각의 클라이언트에 해당하는 테이블이 DB상에 존재하는지 확인하고 3. DB에 존재하지 않으면 해당 클라이언트의 테이블을 생성 후 어떤 데이터를 그 테이블에 INSERT 또는 UPGRADE하고, 4. DB에 존재하면 바로 어떤 데이터를 그 테이블에 INSERT 또는 UPGRADE합니다. 문제는 2,3,4의 과정당 DataSet에 결과를 받아서 처리를 하게 되면 1000~2000개가 매우 빠른 가격으로 붙으면 무리가 간다는 겁니다. 그래서 궁금한게, 혹시 C#에서 2,3,4의 과정을 될수 있으면 하나의 쿼리로 처리를 할수는 없는가 입니다. ON DUPLICATE KEY UPDATE개념은 어느정도 알고 있는데, 위의 테이블 존재체크같은 겨우엔 해당않하는 거 같습니다. show tables like tablenames의 결과값을 받아서 테이블의 유무로 insert 나 upgrade하는 과정을 최대한 쿼리 한줄로 하는 방법이 없을까요....? 꼭 show tables like tablenames의 결과를 DataSet으로 받아서 그 다음을 처리해야 하나요? 감사드립니다.






[최초 등록일: ]
[최종 수정일: 4/14/2023]


비밀번호

댓글 작성자
 



2023-04-14 04시13분
C#에서 하는 방법은 없습니다.

2, 3, 4의 단계를 묶는 Stored Procedure를 생성하고 그것을 호출해 한 번의 DB 연결로 해결할 수 있습니다.

혹은, 2번 단계의 경우를 생략하도록 서버가 뜨자마자 테이블의 목록을 메모리에 캐시해 두고 이후 3, 4번을 진행하는 방법을 고려할 수 있을 것입니다.
정성태
2023-04-14 04시39분
[리세] 감사합니다.

말씀 하신거 처럼 "서버가 뜨자마자 테이블의 목록을 메모리에 캐시"하는 방법도 고민을 했습니다.
근데 최초에 서버가 뜰때 전체 테이블 목록을 가져오는게 실패하거나 누락될거도 같아서, 그때그때 한번더 테이블의 존재를 체크할려했었는데,
일단 C#차원에서는 얺되고, 프로시져?라는걸로 된다는 말씀을 참고하겠습니다.
[guest]

... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5540산들마을...8/11/20216405C# 많은 Control(Label 300개) Update 관련 문의 [2]파일 다운로드1
5539초초초촙8/9/20214950c# textbox 입력값이 다름 [1]파일 다운로드1
5538VS8/7/20215221vsmacros 확장자 파일을 사용하는 방법을 알 수 있을까요? [2]
5537민성8/6/20215452안녕하세요 WPF에서 이미 있는창이 있다면 안띠우게 하는 방법 [1]
55358/5/20216951안녕하세요. 초보 웹 개발자입니다. [10]파일 다운로드2
5534하영7/28/20215476clrprofiler 를 사용하여 세션정보 접근 [6]파일 다운로드1
5533함준혁7/20/20215014.net fpspread 관련 질문입니다.. [1]
5532조윤상7/15/20216310바인딩은 성공 했습니다. 그런데 브라우저에서 인증서가 없다고 나옵니다. [2]
5530ocm7/14/20215923pthread_create [7]파일 다운로드1
5529ksc7/13/20215101Source Generator 관련 질문이 있습니다. [1]
5528초심으로7/9/20216268MDI 에서 USB 연결해제 알림이 안되는 문제 질문 드려봅니다. [7]파일 다운로드1
5527wuny7/7/20215254제어관련 고민을하다가 소캣방식 선택 [2]
5526이성열 donator7/7/20216768wpf x64로 만든 메인 프로그램에서 dll로 된 UserControl 속성이 디자인타임에 잘 안보이는 문제 [10]파일 다운로드2
5525Wuny7/7/20217379제가 만든 배포파일은 window에서 막는걸까요? [2]파일 다운로드1
5524하이스컬7/2/20216693특정 이벤트에서 다른 이벤트 호출 관련 문의 [3]
5523민우7/1/202112422도커 사용시 윈도우 이미지 생성도 가능한가요? [2]
5522질문6/28/20217101WPF에서 splash screen이 나타나는 위치를 변경할 수 있나요? [3]
5521김민혁6/24/20217188.exe 파일 에러에 관한 질문 입니다. [3]
5520한예지 donator6/21/20216977랜덤함수 질문있습니다!! [2]
5519리얼킴6/19/20215929.net framwork 4.0 에서 4.8로 꼭 가야할까요?? [1]
5518한예지 donator6/18/20216587ArrayList, IList에 대해 질문 있습니다. [3]
5517wunsy6/18/20217057winform에서 Button 활성화, 비활성화 [4]
5516ocm6/15/20216048mips 어셈블리 연산 다시 질문드려요 (첨부파일 갱신됨) [2]파일 다운로드1
5515ocm6/14/20216923mips 어셈블리 연산 [6]파일 다운로드1
5514jongs6/11/20217623GethashCode와 String대한 질문 [2]
5513labe...6/11/20217358C# Winform 에서 Label에 동일한 Color를 넣었을 때 처리방법이 궁금합니다. [2]
... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...