DB 는 데이터를 그냥 insert 순서대로 저장하는건가요?

익명 사용자의 이미지

데이터베이스 공부중입니다

저는 디비의 데이터들은 모두 정렬된 상태로 저장되어 검색 성능을 빠르게 하는줄알았는데

"insert 순서대로 그냥 저장한다"
"중간중간 비어있는공간에 저장한다"(하드디스크 단편화와 비슷한듯)

검색해보니 이런 글들을 봤습니다

많은 양의 데이터를 insert 할때마다 새롭게 정렬하는게 비효율적이라 그냥 정렬하지 않고 저장하는것같은데

그냥 select 를 하면 풀스캔을 하게되니 인덱스를 사용하는걸로 추측을 해봅니다

이 추측이 맞는건지 궁금합니다

세벌의 이미지

database.sarang.net 에 물어보면 좋을 것 같아요.

dontdieych의 이미지

'데이터들은 모두 정렬된 상태로 저장되어 검색 성능을 빠르게 하는줄알았는데'

저는 익명님 보다 더 모르는 사람이지만 저 걸 하는 기능이 데이터베이스 스키마 만들 때 특정 컬럼에 (예를 들면 이름?) 인덱스를 설정하면 (기술적으로 어떻게 구현되는지는 모르겠으나) 해당 컬럼을 기준으로 검색을 할 때 더 빠르게 결과값을 보여준다? 정도로 알고 있습니다.

어떤 컬럼에 인덱스를 설정하면 정렬되어진 인덱스를 저장하기 위해서 추가적인 저장 공간이 필요하다.

요정도만 알고 있네요.

academic의 이미지

Non Clustered Index는 정렬 정보를 저장하기 위한 추가적인 공간이 필요합니다.

Clustered Index는 데이터를 저장할 때 아예 정렬해서 저장하기 때문에 따로 추가적인 공간이 필요하지 않습니다.

----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

swish95의 이미지

논리적으로 생각해보면 따로 인덱스가 존재한다고 해도
인덱스를 이용해 정렬하는 거지 Insert 할때 그럴필요는 없죠

고로 넣는건 DB 맘이라 정렬되어 들어가지 않습니다.

------------------------------------------------------------
ProgrammingHolic

academic의 이미지

설정을 어떻게 하느냐에 따라 다릅니다.

클러스터드 인덱스(Clustered Index)가 설정되어 있다면 그 순서대로 데이터를 정렬해서 저장합니다. Insert 순서대로 저장하는 것이 아니라.

----
academic은 제 고등학교 때 동아리 이름입니다.
academic, 아주 가끔은 저도 이랬으면 좋겠습니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.