SQL
渴望力量的菜鸟攻城狮
致敬技术。
展开
-
利用Mysql 高效 实现排行榜&我的排名&距离上名分数
需求: 根据分数查出排行榜(若分数相同,根据得分时间先来后到),并查询出自己的排名,和自己上一名的用户分数信息。 思路: 根据 积分、更新时间、userId 做联合索引。从而根据积分排序直接走索引。 此处注意mysql索引默认是正序排列(mysql 8 退出倒序索引,),所以需求根据时间先来后到则是 score DESC,upd_score_dt ASC. 如果排序两字段方向不一致则会产生 filesort。 建表: CREATE TABLE `rank` ( `id` cha...原创 2020-06-14 22:13:58 · 2096 阅读 · 0 评论 -
sqlserver通用稳定的拼接SQL分页语句方案
经常接触到的mysql,拼接SQL分页语句直接在sql尾部加上limitx,x,既不污染原SQL,又够方便整洁。 最近做多数据源动态查询,需要支持多种数据库,分页问题随之而来,像mysql、oracle这些拼串方式不再赘述。 高版本的sqlserver(2012)其实也支持如mysql中limit这种分页方式。 offset /fetch nex: select * from s...原创 2019-08-13 14:27:45 · 905 阅读 · 1 评论