Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

여러 행을 효과적으로 선택하는 MySQL 쿼리?

<시간/>

여러 행을 효과적으로 선택하려면 인덱스를 사용해야 합니다. 먼저 테이블을 생성하겠습니다 -

mysql> 테이블 DemoTable1501 생성 -> ( -> Id int NOT NULL PRIMARY KEY, -> URL 텍스트 -> );쿼리 OK, 영향을 받는 행 0개(0.62초)

다음은 인덱스를 생성하는 쿼리입니다 -

mysql> DemoTable1501(Id)에 인덱스 id_index 생성, 쿼리 확인, 영향을 받은 행 0개(0.23초) 레코드:0 중복:0 경고:0

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1501 values(101,'www.facebook.com');Query OK, 영향을 받는 1행(0.10초)mysql> insert into DemoTable1501 values(110,'www.google.com');Query OK, 1행 영향(0.08초)mysql> DemoTable1501 values(220,'www.gmail.com')에 삽입, 쿼리 확인, 1행 영향(0.06초)mysql> DemoTable1501 values(350,'www.youtube .com');쿼리 OK, 1행 영향(0.08초)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable1501에서 * 선택;

이것은 다음과 같은 출력을 생성합니다 -

+-----+------------------+| 아이디 | URL |+-----+------------------+| 101 | www.facebook.com || 110 | www.google.com || 220 | www.gmail.com || 350 | www.youtube.com |+-----+------------------+4행 세트(0.00초)

다음은 여러 행을 효율적으로 선택하는 쿼리입니다. −

mysql> select * from DemoTable1501 -> where Id in(101,220,350);

이것은 다음과 같은 출력을 생성합니다 -

+-----+------------------+| 아이디 | URL |+-----+------------------+| 101 | www.facebook.com || 220 | www.gmail.com || 350 | www.youtube.com |+-----+------------------+3행 세트(0.00초)

이를 증명하기 위해 Handler_read_key가 4개의 ID 중 3개를 사용하는 SHOW 명령을 사용하십시오 -

mysql> 'Handler_%'와 같은 상태 표시;

이것은 다음과 같은 출력을 생성합니다 -

+----------------------------+-------+| 변수명 | 값 |+----------------------------+-------+| Handler_commit | 1 || Handler_delete | 0 || Handler_discover | 0 || Handler_external_lock | 2 || Handler_mrr_init | 0 || 핸들러_준비 | 0 || Handler_read_first | 0 || Handler_read_key | 3 || Handler_read_last | 0 || Handler_read_next | 0 || Handler_read_prev | 0 || Handler_read_rnd | 0 || Handler_read_rnd_next | 0 || 핸들러_롤백 | 0 || Handler_savepoint | 0 || Handler_savepoint_rollback | 0 || 핸들러_업데이트 | 0 || 핸들러_쓰기 | 0 |+----------------------------+-------+18행 세트(0.00초)