SELECT * FROM table_name LIMIT [offset ,] rows
优化前:
原理:mysql会先查询出10000010(一千万零一十)条数据,然后丢弃前10000000(一千万)条数据,返回最后10(十)条数据,所以偏移量越大,性能就越差。
方法一、
使用 主键索引 进行关联查询
方法二、
每次记录当前页的 最后一条id ,作为下一页的查询条件
一、正常情况下没有人会翻到几千页,我们可以通过限制可以翻页的数量解决这个问题,如:百度、谷歌。
二、手机端可以使用下拉方式进行滚动翻页,每次记录当前页的最后一条id,作为下一页的查询条件。ES可以使用scroll API
现在数据库的该表新建一个字段,名称为rank, 字符类型为text。假设该表的名称为tech。用两条SQL语句处理上面的问题,
update tech set rank='高级' where substring(Tbirthday,1,4) >='1960' and substring(Tbirthday,1,4) <='1970'
第二条将该字段不是高级的都设置为普通。
update tech set rank='普通' where rank!='高级';
如果第条件是将1970年以后的设置为普通,则执行以下语句
update tech set rank='普通' where substring(Tbirthday,1,4) >'1970'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)