mysql cursor 分页_Mysql 分页技术总结

Mysql 分页技术总结

Mysql Pagination

1. 使用cursor方式进行数据分页。

http://timyang.net/web/pagination/

对于大结果集的数据,使用cursor方式的目的主要是为了极大地提高性能。还是拿MySQL为例说明,比如翻页到100,000条时,不用cursor,对应的SQL为

select * from msgs limit 100000, 100

需要查询100000+100条数据,然后丢弃100000条,保留100条。

在一个百万记录的表上,第一次执行这条SQL需要5秒以上。

假定我们使用表的主键的值作为cursor_id, 使用cursor分页方式对应的SQL可以优化为

select * from msgs where id > cursor_id limit 100;

同样的表中,通常只需要100ms以下, 效率会提高几十倍。

不可以使用limit M, N

但可以使用limit N,而使用而外的clue(线索、条件),来实现从M开始的功能。

2.几位yahoo工程师的mysql分页技术的总结:很不错

http://www.percona.com/ppc2009/PPC2009_mysql_pagination.pdf

http://www.fuchaoqun.com/2009/04/efficient-pagination-using-mysql/

相关文档:

第一招、mysql服务的启动和停止

net stop mysql

net start mysql

第二招、登陆mysql

语法如下: mysql -u用户名 -p用户密码

键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:

mysql>

注意,如果是连接到另外的机器上,则需要加入一个参数-h机 ......

做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为 :

Select restnum from book where id =1 ;

-- 如果 restnum 大于 0 ,执行 update

Update boo ......

The vs2008 and vs2010 don't support the generation LINQ to SQL business objects from a MySQL database, if you drop a MySql table to a Linq to Sql Class, it will popup a "The selected object(s) use an unsupported data provider" error.

Generation tool DBLinq

DbLinq is a LINQ to SQL data co ......

在工作中碰到一个Mysql字段更新问题

在custom表中有一个tariffurl的值中有如下情况:

uploadfiles ariff2007031172720306698.jpg以及uploadfiles ariff2007031172720306690.jpg;uploadfiles ariff2007031172720306691.jpg形式

要更改成uploadfiles/tariff/200703/1172720306698.jpg及 uploadfiles/tariff/200703/11727 ......

在近期的项目维护工作中,时常出现主键重复的异常。经过一系列资料的查询之后,发现时hibernate映射文件配置问题。

mysql提供主键“自动增量”的配置,指定该类型的主键,mysql能够自动加一。

在hibernate映射文件中,关于主键的配置不能是

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值