[소개] 이 코드는 데이터 양이 많을 때 페이징 효율성을 높이기 위한 테스트 코드입니다. 페이징 효율성 향상: 페이징 시 표시 데이터만 읽으려면 "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)