gudusoft (sqlparser.com)에서 제공 한 sqlparser (C#)를 사용하고 있습니다.개체에서 문자열 속성을 검색하는 C# sqlparser (gudusoft)가 너무 느림
sqlparser는 sql 문자열을 입력 할 수있는 파서 개체를 제공합니다. 그런 다음 parse() 메서드를 호출하면 모든 토큰, 레이블 등을 얻을 수 있습니다. 파서는 훌륭하게 구축되었습니다. 여기
나는 매우 정직하고, 그것을 사용하는 방법입니다
line 1: TGSqlParser parser = new TGSqlParser(TDbVendor.DbVMssql); // init the parser object
line 2: parser.SqlText.Text = code; // set input sql code, for e.g. "SELECT * FROM table_sales"
line 3: int parser_ret = parser.Parse(); // call parse method
line 4: string output = parser.XmlText; // retrieve the xml generated by line 3. The xmlText could be 500,000-character long.
라인 1-3은 매우 효율적으로 (적은 초에 완료) 작동합니다. 그러나 4 번 줄은 매우 느림 (1 분 이상 소요될 수 있음). 혼란스러운 점은 디버거를 사용하여 parser.XmlText가 이미 생성되었고 3 행에서 액세스 준비가 된 것입니다. 4 행은 단지이 값에 액세스하기위한 것입니다.
어떻게 값에 액세스하는 것이 실제 생성하는 것보다 훨씬 느린가요?
저는이 새 파서의 문제가 될 가능성이 더 큰지 또는 C#의 일반적인 문제인지 여부를 확실하지 않은 의 초보자입니다.
감사!