前言
通常针对MySQL大数据量的查询采取“分页”策略,但是如果翻页到比较靠后的位置时查询将变得很慢,因为mysql将花费大量的时间来扫描需要丢弃的数据。
基本分页技巧
通常情况下,为了实现高效分页,需要在查询中WHERE条件列和排序列应用组合索引。
例如,建立索引(a,b,c)使得以下查询可以使用索引,提高查询效率:
1、字段排序
ORDER BY a
ORDER BY a,b
ORDER BY a, b, c
ORDER BY a DESC, b DESC, c DESC
2、筛选
一,最常见MYSQL最基本的分页方式: 代码如下:select * from content order by id desc limit 0, 10在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引。随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似: 代码如下:select * from content order by id desc limit 10000, 10一言以蔽之,就是越往后分页,LIMIT语句的偏移量就会越大,速度也会明显变慢。此时,
下面就是大数据量时提高分页的效率的测试代码,分享给大家。
--提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库“TestForPaging”
use TestForPaging
go
--创建表SomeData
create table SomeData
(
id int primary key,
name varchar(30) null,
descr iption text
)
go
--插入数据
insert into SomeData values(1,'num1','
看过此博文后Oracle、MySql、SQLServer 数据分页查询,在根据公司的RegionRes表格做出了
SQLserver的分页查询语句:
SELECT DISTINCT TOP 500
rr.ID AS id
,rr.strName AS name
,rr.nType AS res_type
,rr.nRegID AS region_id
,rr.strChanName AS channel_name
,rr.nChanNum AS channel
,rr.nS