2010-01-15 6 views
3

.NET 응용 프로그램의 데이터 액세스 계층을 SQL Server를 사용하여 MySQL을 사용하여 다시 작성하는 데 걸리는 시간을 예측하는 작업이 수행되었습니다. 이것이 일어날 것인가 아닌가에 대한 논의가 아니라 ... 얼마나 오래 걸릴 것인가.SQL Server 쿼리를 MySQL로 변환하는 데 얼마나 오래 걸립니까?

SQL Server의 저장 프로 시저를 MySQL 쿼리로 변환하는 것을 제외하고는 모든 작업을 예상했습니다. 데이터 모델은 본질적으로 (테이블이 동일하거나 원래 스키마를 암시하는 쿼리에 의해) 동일하지만 MySQL에서 동일합니다. 나는 약 100 개의 저장 프로 시저를 가지고 있으며, 대부분 데이터가 읽혀지고 DAL을 감싸는 괜찮은 단위 테스트가 있으므로 작업이 언제 중단되는지 알 수 있습니다.

그래서 두 가지 언어로 된 SQL간에 얼마나 많은 작업을해야합니까? 일반적인 용어로 사소한 작업을하는 경향이 있으며 대체로 찾기 및 바꾸기가 자동화됩니다. 아니면 많은 수의 일반적인 쿼리가 손으로 조정해야하는 곳인가요? 나는 작업의 규모에 대한 약간의 일반적인 지침을 요구했다.

어떤 도움을 주셔서 감사합니다.

+0

좋은 질문이 제기되었습니다 ... 현재 라이브 시스템입니까? 예 시스템은 생산 중이며 약 1 년 반 동안 지속적으로 업데이트/유지 관리됩니다. –

답변

2

정답은 없습니다. 그것은 달려있다. MySQL과 MSSQL을위한 SQL rockstar를 가지고 있다면 아마도 하루나 이틀에 100 개의 저장 프로 시저를 모두 포팅 할 수 있고 또 다른 프로그래머는 2 ~ 3 주 정도 걸릴 수도 있습니다.

SQL은 이상적인 세계에서 표준으로 간주되지만 우리는 이상적인 세상에 살지 않습니다.

http://www.joelonsoftware.com/articles/fog0000000245.html

+0

+1 좋은 링크. 나는 락 스타의 경우 2 주, 평범한 사람의 경우 6 개월, 그리고 프로그래머 점수 목록의 하반부에는 절대로 끝내지 못할 것이라고 예측할 것입니다 – Andomar

0

최악의 시나리오에서는 모든 행을 거쳐야 할 것입니다. 당신은 철저해야하지만, 대부분은 그것이 mysql과 호환되는지 확인하기 위해 읽고있는 것 같아요. 간혹 어쩌면 쿼리를 주로 변경합니다.

너무 많이 달라지기 때문에 어려운 질문입니다. 절차가 얼마나 복잡합니까? 100 % MySQL과 호환되거나 100 % 호환되지 않을 수 있습니다. 정말로 자신의 평가를 내려야합니다.

MySQL에 익숙하다면 하루 이상 걸리지 않아야합니다.

0

의존하는 것,하지만 가능성 당신은 라인 별 통해 크롤링의 공정한 금액을해야합니다. SP의 선택이 단순하다면 이것은 매우 빠르지 만 간단하다고 생각되는 것조차도 손으로 변경해야합니다. 예 : MySQL에서 MSSQL select top 20 [column] from [table]select [column] from [table] limit 0,20이됩니다. 이는 페이지 매김과 같은 작업이 처리되는 상위 레벨 코드의 변경을 의미 할 수도 있습니다. 일을 처리하기 위해 SQL을 변경하기 만하면된다고 가정 할 수 없습니다.

더 복잡한 저장 프로 시저가 있거나 T-SQL 함수를 사용하는 항목이 있으면 길고 일반적으로 불만족스러운 상황이 될 수 있습니다.

0

나는 이에 대한 정답이라고 생각하지 않습니다.

mssql 특정 항목을 사용하고있는 항목은 무엇입니까? 확실하지 않다. 만약 그들이 단순하다면 큰 문제는 안된다.하지만 그것보다 더 많은 일을한다면 솔직히 줄 단위 분석을해야 할 것이다.

원래 개발 노력? 아니면 오랜 세월에 걸쳐 행해졌습니까?

가 개인적으로 나는 당신이 무엇을 평가 한 후 mysql을 처음부터 모든 것을 써서, 컷을 사용하고 모든 붙여 어떤 유혹에 저항 할 것, 희망 데이터베이스가 완전히 다음 (싱긋 웃음)를하지 않을 경우 문서화되어 나는이 일을 부러워하지 않는다.

이 시스템은 현재 현재 사용되고 있습니까? 아니면 개발중인 시스템입니까? 콜라 션과 유니 코드 데이터 같은 것을 잊지 마라. 더 이상 sprocs를 가져 오지 않는 것 뿐이다.

다음 질문은 현재 구조가 실제로 앞으로 나아갈 수있는 것인지 또는 최대 절전 모드로 이동할 수 있는지, 그리고 성능 질문이 있다는 것입니다.

귀하의 질문에 대한 답변은 귀하가 이야기하고있는 사람과 복잡성에 따라 달라집니다. 그러나 대단히 신경 써야 할 일은 분명합니다. 특히 이것이 라이브 시스템 인 경우

0

최근 Oracle DB를 MSSQL Server로 이동해야했습니다. 근원을 읽고 필요한 경우 조정할 때까지 약 3 일이 걸렸습니다. 프로젝트와 거의 같은 양의 쿼리가 있었지만 이러한 쿼리는 거의 선택 사항이 아니 었습니다 (선택, 삽입, 업데이트, 삭제). 저장 프로 시저는 일반적으로 하나 이상의 쿼리를 내부에 가지고 있으므로 일주일에 MAY이 현실적입니다.

관련 문제