MSSQL에서 MySQL로 바꿀때...

agkrwyasym의 이미지

MSSQL로 개발해놓은 프로그램을 MySQL로 옮기려고 합니다. MySQL Migration Toolkit을 사용해 옮겼는데 MSSQL에서 1초도 안걸리던 쿼리가 MySQL에서 5분이 넘게 걸립니다.

테이블에 인덱스를 만들어주니 MySQL에서도 1초도 안걸리고 결과가 나옵니다. MSSQL에서는 인덱스를 사용하지 않아도 결과가 빨리 나오는데, 왜 그런건가요??

참고로 MySQL은 버젼 5입니다.

cronex의 이미지

dankunwizard wrote:
MSSQL로 개발해놓은 프로그램을 MySQL로 옮기려고 합니다. MySQL Migration Toolkit을 사용해 옮겼는데 MSSQL에서 1초도 안걸리던 쿼리가 MySQL에서 5분이 넘게 걸립니다.

테이블에 인덱스를 만들어주니 MySQL에서도 1초도 안걸리고 결과가 나옵니다. MSSQL에서는 인덱스를 사용하지 않아도 결과가 빨리 나오는데, 왜 그런건가요??

참고로 MySQL은 버젼 5입니다.

MySQL은 제가 잘 몰라서 모르겠는데 MSSQL은 index를 따로 안만들어줘도 내부적으로 자기가 index를 만듭니다. 아마 MySQL은 index를 따로 안만들어서 관리하나보네요.

------------------------------------------------------------
이 멍청이~! 나한테 이길 수 있다고 생각했었냐~?
광란의 귀공자 데코스 와이즈멜 님이라구~!

wfellow의 이미지

Quote:
MySQL은 제가 잘 몰라서 모르겠는데 MSSQL은 index를 따로 안만들어줘도 내부적으로 자기가 index를 만듭니다. 아마 MySQL은 index를 따로 안만들어서 관리하나보네요.

ㅡ.ㅡ 인덱스를 DBMS가 자동으로 만든다?... 전 첨 알았습니다. 신기하네요..
(근데 그런 기능이 좋은건지는 잘 몰겠네요.)

-----[꼬릿말 절취선 시작]-----
삽질전에 먼저 구글신께 기도하자.
-----[꼬릿말 절취선 끝]-----

cocas의 이미지

wfellow wrote:
Quote:
MySQL은 제가 잘 몰라서 모르겠는데 MSSQL은 index를 따로 안만들어줘도 내부적으로 자기가 index를 만듭니다. 아마 MySQL은 index를 따로 안만들어서 관리하나보네요.

ㅡ.ㅡ 인덱스를 DBMS가 자동으로 만든다?... 전 첨 알았습니다. 신기하네요..
(근데 그런 기능이 좋은건지는 잘 몰겠네요.)

해당 컬럼이 primary key라면 아마 거의 모든 DBMS가 자동으로 인덱스를 생성 할겁니다. 그 외의 경우가 더 있는지는 잘 모르겠네요. 하지만 일반적으로 DBMS가 index를 따로 생성하진 않습니다. 굳이 불필요한 컬럼에 대한 index를 만들면서 오버헤드를 만들진 않지요.

wfellow의 이미지

cocas wrote:
wfellow wrote:
Quote:
MySQL은 제가 잘 몰라서 모르겠는데 MSSQL은 index를 따로 안만들어줘도 내부적으로 자기가 index를 만듭니다. 아마 MySQL은 index를 따로 안만들어서 관리하나보네요.

ㅡ.ㅡ 인덱스를 DBMS가 자동으로 만든다?... 전 첨 알았습니다. 신기하네요..
(근데 그런 기능이 좋은건지는 잘 몰겠네요.)

해당 컬럼이 primary key라면 아마 거의 모든 DBMS가 자동으로 인덱스를 생성 할겁니다. 그 외의 경우가 더 있는지는 잘 모르겠네요. 하지만 일반적으로 DBMS가 index를 따로 생성하진 않습니다. 굳이 불필요한 컬럼에 대한 index를 만들면서 오버헤드를 만들진 않지요.

그렇져~~..그렇겠져.. pkey는 당근 인덱스가 되는거구.. 그외의 컬럼들이 자동으로 인덱스가 된다면... 낭비져.

-----[꼬릿말 절취선 시작]-----
삽질전에 먼저 구글신께 기도하자.
-----[꼬릿말 절취선 끝]-----

sh.의 이미지

혹시 MS-SQL에서의 PK가 MySQL로 넘어오면서 인덱스로 안잡힌것 아닌가요? 아무래도 테이블의 스키마가 있어야 정확한 얘기가 될것같습니다.
MySQL에서 제공하는 Migration Toolkit에 대해서 들어보긴 했는데 마이그레이션 할일이 없어서 써보질 않았더근요. 옮길때 인덱스등을 제대로 못옮긴건 아닐까요?

agkrwyasym의 이미지

답변 넘 감사합니다 ^^

문제는 MSSQL의 테이블에 키는 아무것도 없었습니다. MySQL로 넘어올때도 키없이 그대로 넘어왔습니다.

MSSQL에서 자동으로 전부 인덱스를 만드나요??

agkrwyasym의 이미지

ㅠㅠ 아시는분 답변좀...

kurome의 이미지

dankunwizard wrote:
MSSQL로 개발해놓은 프로그램을 MySQL로 옮기려고 합니다. MySQL Migration Toolkit을 사용해 옮겼는데 MSSQL에서 1초도 안걸리던 쿼리가 MySQL에서 5분이 넘게 걸립니다.

테이블에 인덱스를 만들어주니 MySQL에서도 1초도 안걸리고 결과가 나옵니다. MSSQL에서는 인덱스를 사용하지 않아도 결과가 빨리 나오는데, 왜 그런건가요??

참고로 MySQL은 버젼 5입니다.

mssql은 저장 프로시저? 를 이용하면 내부적으로 캐쉬를 한다고 들었습니다.!!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.