Mysql大量数据快速排序方案
来源:互联网 发布:nginx install macos 编辑:程序博客网 时间:2024/06/06 16:35
日常开发中经常需要对数据进行排序,通常可以讲数据库中的数据获取到后通过程序在内存中进行排序,但是这样排序需要将排序内容从数据库中查询到内容,同时使用程序算法进行排序,然后将排序结果更新入数据库,这样排序效率较低,开发量较大,本例采用数据库本身自有属性进行大数据的快速排序,具体方案如下:
1、删除临时表
DROP TABLE IF EXISTS SORT_TEMP
2、创建临时表
1 CREATE TABLE SORT_TEMP (2 ID BIGINT(12) NOT NULL AUTO_INCREMENT,3 SORT_ID BIGINT(12) NOT NULL COMMENT '被排序表ID',4 PRIMARY KEY (ID)5 ) ENGINE=INNODB AUTO_INCREMENT=0 DEFAULT CHARSET=UTF8 COMMENT='排序临时表'
3、将需要按照的排序规则内容数据插入到临时表中(按照分类表的状态倒序,ordby字段不为空的按照正序排在最前面,为空的排在最后面,更新时间倒序,ID正序)
INSERT INTO SORT_TEMP(SORT_ID) SELECT c.id FROM t_catalog c ORDER BY c.state DESC, ISNULL(c.ordby), c.ordby, c.UPDATE_TIME DESC, c.id
4、将临时表中的数据回填到被排序表的ordby字段中
UPDATE t_catalog c SET c.ordby = (SELECT id FROM SORT_TEMP t WHERE t.SORT_ID = c.id ), c.update_time = NOW()
5、删除临时表
DROP TABLE IF EXISTS SORT_TEMP
阅读全文
0 0
- Mysql大量数据快速排序方案
- mysql快速插入大量数据
- 如何快速向Mysql插入大量数据?
- Mysql 大量数据快速导入导出
- Mysql大量数据快速导入导出
- Mysql 大量数据快速导入导出
- Mysql 大量数据快速导入导出
- mysql 大量数据快速,添加索引
- mysql嵌套查询,快速插入大量数据
- mysql 跨服务器快速复制包含大量数据的表
- MySQL快速复制数据表数据方案
- 大量数据如何排序
- Oracle大量删除数据方案
- mysql大量数据导入
- mysql 导入大量数据
- mysql大量数据迁移
- mysql导入大量数据
- mysql插入大量数据
- 【BZOJ1260】【CQOI】涂色paint
- HDU2181 哈密顿绕行世界问题 —— DFS
- HTTP状态码整理(完整版)
- HDU-3016:Man Down(线段树+DP)
- Android Studio打JAR包
- Mysql大量数据快速排序方案
- 深度学习DeepLearning.ai系列课程学习总结:6. 具有一个隐藏层的平面数据分类代码实战
- QButtonGroup结合QSS实现互斥按钮颜色变化
- ubuntu下使用apt-file来安装texlive的package
- Tree Traversals
- c/c++ #define中#和##运算符的使用
- Java创建树形结构算法实例
- 莫队算法学习报告
- Error:(115) *** Android NDK: Aborting . Stop.