文章目录
用直接用limit函数实现
limit函数的介绍:
elect * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
所以我们就能限制m和n来达到分页效果
pageIndex是你的页数,pageSize是你每一页的数据大小
用主键索引加limit实现
id_pk就是你的主键索引
select * from 表名称 where id_pk > (pageIndex*pageSize) limit pageSize
如果用这个方法的话要注意,你的页数是从0开始的,而不是1了
利用MySQL支持order操作可以利用索引快速定位
这个方法主要是为了满足用户需要精确查找数据,但是数据量又过大时可以进行分页
—比如: 读第1000到1019行元组(pk是主键/唯一键)。
select * from 表名 where pk>=1000 order by pk asc limit 0,20
基于索引使用prepare
prepare介绍:
PREPARE statement_name FROM sql_text /定义/
EXECUTE statement_name [USING variable [,variable…]] /执行预处理语句/
DEALLOCATE PREPARE statement_name /删除定义/
prepare语句不可以用于存储过程,自定义函数!但从 MySQL 5.0.13 开始,它可以被用于存储过程,仍不支持在函数中使用!
适用于数据量比较大的时候,因为索引扫描,速度会很快. prepare语句又比一般的查询语句快一点
第一个 ? 表示pageIndex,第二个 ? 表示pageSize
prepare stmt_name from select from 表名称 where id_pk > (? ?) order by id_pk**
当连接mysql时Loading class `com.mysql.jdbc.Driver’. This is deprecated警告处理
Loading class com.mysql.jdbc.Driver'. This is deprecated.
The new driver class iscom.mysql.cj.jdbc.Driver'.
The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary
mybatis逆向过程中出现的 ,用了最新的mysql 连接驱动
将com.mysql.jdbc.Driver 改为 com.mysql.cj.jdbc.Driver即可。