>  기사  >  데이터 베이스  >  MySQL은 데이터 페이징 효율성을 향상시킵니다.

MySQL은 데이터 페이징 효율성을 향상시킵니다.

黄舟
黄舟원래의
2017-02-20 11:48:311222검색

[소개] 이 코드는 데이터 양이 많을 때 페이징 효율성을 높이기 위한 테스트 코드입니다. 페이징 효율성 향상: 페이징 시 표시 데이터만 읽으려면 "TestForPaging" 데이터베이스를 만들어야 합니다. " 데이터베이스에서 먼저 TestForPaginggo를 사용하세요- -Create table SomeDatacreate table SomeData(id int

내 코드는 데이터 양이 많을 때 페이징 효율성을 향상시키는 테스트 코드입니다
--페이징 개선 효율성: 페이징 구현 시 표시 데이터만 읽습니다. 먼저 데이터베이스에 "TestForPaging" 데이터베이스를 생성해야 합니다.

use TestForPaging
go

--SomeData 테이블 생성

create table SomeData
(
id int primary key,
name varchar(30) null,
description text
)
go

- -데이터 삽입

insert into SomeData values(1,'num1','第1条')
go
insert into SomeData values(2,'num2','第2条')
go
insert into SomeData values(3,'num3','第3条')
go
insert into SomeData values(4,'num4','第4条')
go
insert into SomeData values(5,'num5','第5条')
go

-- 총 데이터 항목 수

select count(*) from SomeData
go

--각 레코드에 데이터 수준 추가

select name,description,ROW_NUMBER() over(order by id desc)as dataLevel from SomeData
go

- -지정된 데이터 수준 사이의 데이터 항목 보기

select dataLevel,name,description from
(select name,description,row_number() over(order by id desc)as dataLevel from SomeData)
 as datawithleverl where dataLevel between 2 and 4
go

--지정된 데이터 수준 사이의 데이터 항목을 보기 위한 저장 프로시저 구현

create procedure GetDataPaged
(
@startRowIndex int,
@maximumRows int,
@sort varchar
)
AS

--정렬이 지정되었는지 확인

if len(@sort)=0
set @sort='id'

--매개변수를 사용한 쿼리

select dataLevel,name,description from
(select name,description,row_number() over(order by @sort desc)as dataLevel from SomeData) AS datawithleverl
WHERE dataLevel > (@startRowIndex*10) AND dataLevel <= (@startRowIndex*10 + @maximumRows)
go

위 내용은 데이터 페이징 효율성을 높이기 위한 MySQL의 내용이며, 더 많은 관련 내용은 PHP 중국어 홈페이지를 참고하시기 바랍니다. (www.php.cn)


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.