MySQL大表数据LIMIT深分页优化

MySQL大表数据LIMIT深分页优化,第1张

SELECT * FROM table_name LIMIT [offset ,] rows

优化前:

原理:mysql会先查询出10000010(一千万零一十)条数据,然后丢弃前10000000(一千万)条数据,返回最后10(十)条数据,所以偏移量越大,性能就越差。

方法一、

使用 主键索引 进行关联查询

方法二、

每次记录当前页的 最后一条id ,作为下一页的查询条件

一、正常情况下没有人会翻到几千页,我们可以通过限制可以翻页的数量解决这个问题,如:百度、谷歌。

二、手机端可以使用下拉方式进行滚动翻页,每次记录当前页的最后一条id,作为下一页的查询条件。ES可以使用scroll API

现在数据库的该表新建一个字段,名称为rank, 字符类型为text。假设该表的名称为tech。

用两条SQL语句处理上面的问题,

第一条将1960年到1970年之间的设置为高级

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'

halfclear

码龄6年

关注

linux系统下,进程信号的默认响应方式有5种:

1) 忽略信号,即当做没收到信号一样;

2) 终止进程;

3) 产生核心转储文件,同时进程终止;

4) 停止进程,即暂停进程的执行;

5) 于之前的暂停之后恢复执行;

处理方式2和3都会导致进程终止执行并立即退出,处理方式1、4、5不会造成进程终止执行。因此,可以将信号粗略的分为两类,一类是会导致进程终止并退出的信号;另一类则是不会导致进程终止并退出的信号。

当进程因收到信号被终止执行退出后,父进程可以通过调用wait或waitpid得到它的exit code。进程被各信号终止的退出状态码总结如下:

信号编号

信号名称

信号描述

默认处理方式

Exit code

1

SIGHUP

挂起

终止

1

2

SIGINT

终端中断

终止

2

3

SIGQUIT

终端退出

终止、core dump

131

4

SIGILL

非法指令

终止、core dump

132

5

SIGTRAP

跟踪/断点陷阱

终止、core dump

133

6

SIGABRT

终止进程

终止、core dump

134

7

SIGBUS

Bus error

终止、core dump

135

8

SIGFPE

算术异常

终止、core dump

136

9

SIGKILL

杀死进程(必杀)

终止

9

10

SIGUSR1

用户自定义信号1

终止

10

11

SIGSEGV

段错误

终止、core dump

139

12

SIGUSR2

用户自定义信号2

终止

12

13

SIGPIPE

管道断开

终止

13

14

SIGALRM

定时器信号

终止

14

15

SIGTERM

终止进程

终止

15

16

SIGSTKFLT

栈错误

终止

16

17

SIGCHLD

子进程退出

忽略

18

SIGCONT

继续执行

若停止则继续执行

19

SIGSTOP

停止执行(必停)

暂停执行

20

SIGTSTP

停止

暂停执行

21

SIGTTIN

Stopped (tty input)

暂停执行

22

SIGTTOU

Stopped (tty out put)

暂停执行

23

SIGURG

io紧急数据

忽略

24

SIGXCPU

突破对cpu时间的限制

终止、core dump

152

25

SIGXFSZ

突破对文件大小的限制

终止、core dump

153

26

SIGVTALRM

虚拟定时器超时

终止

26

27

SIGPROF

性能分析定时器超时

终止

27

28

SIGWINCH

终端窗口尺寸发生变化

忽略

29

SIGIO

io时可能产生

终止

29

30

SIGPWR

电量行将耗尽

终止

30

31

SIGSYS

错误的系统调用

终止、core dump

159

34~64

SIGRTMIN~

SIGRTMAX

实时信号

终止

34~64

进一步总结如下:

1.能使进程被终止执行并产生core dump的信号,它的退出状态码是信号编号+128,比如SIGQUIT信号,它的编号为3,进程收到该信号后会core dump,退出状态码为3+128=131;

2.只是使进程被终止,而不会产生core dump的信号,它的退出状态码就是信号本身的编号。

文章知识点与官方知识档案匹配

CS入门技能树Linux入门初识Linux

26116 人正在系统学习中

点击阅读全文

打开CSDN APP,看更多技术内容

最新发布 bug修复:Process finished with exit code 132 (interrupted by signal 4: SIGILL)

tensorflow-bug修复:Process finished with exit code 132 (interrupted by signal 4: SIGILL)

继续访问

Linux-退出码 exit code

当unix 程序完成的时候,会产生个退出码,称作 错误码,给启动这个程序的 父进程。没问题的时候,这个码是0,否则是其他值(并不绝对是这样)。 要立刻记录下退出码,因为它会被 下一个 执行成功命令 覆盖。 可以用 exit 1 退出 当前程序,会把1传给 父进程。当然也可以传其他值。 有些程序的 退出码 用1 表示某种结果 而不是发生的错误。比如 grep。 ...

继续访问

k8s容器 pod OOM, exit code:137

某天查看线上服务,发现有个服务平均每天重启一次,通过k8s descripe pod podName 命令发现exit code: 137 reason: OOM Killed. 提示比较明显OOM(当时查了失败的容器内服务日志,发现没有异常信息,有点疑惑的),然后果断在jvm配置里添加OOM自动dump日志参数,-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof,等着问题后分析日志原因(我们体量不大,同时又是多节点,所.

继续访问

OCS inventory | agent 运行问题 | 系统日志 | exit code is 4 | error 500

开始菜单右键选择事件查看器 点开Windows日志-应用程序可以看到 存在一个错误 Failed to load/parse last inventory state 右下角OCS图标右键点击run OCS inventory NG Agent now 虽然显示successfully,但是并没有收集到这个错误。 日志中多出来一个错误Service encounter error &lt...

继续访问

Linux 进程信号深剖

带你一命通关 Linux 进程信号原理 三十分钟手撕底层内涵

继续访问

Ubuntu18 ROS运行报错exit code -11

问题:roslaunch启动程序一会后显示process has died exit code -11..... gdb调试之后显示 参考链接:https://answers.ros.org/question/275710/the-node-with-pluginlib-can-not-run-in-custom-boost-situation/ 上述链接原话:When I remove the path /usr/local/include/boost and /usr/local/li...

继续访问

Exit code

exit code 0 表示程序执行成功,正常退出 exit code 1 表示程序执行执行过程中遇到了某些问题或者错误,非正常退出

继续访问

当编辑配置文件后重启mysql时遇到‘exit-code‘报错的解决方法

改动二进制文件保存路径导致服务不能使用的解决方案

继续访问

【问题篇】Springboot项目一启动就报错Process finished with exit code

Springboot项目一启动就报错Process finished with exit code

继续访问

程序退出码 exit code 分析

当进程因收到信号被终止执行退出后,父进程可以通过调用wait或waitpid得到它的exit code。 我们经常会见到类似如下程序退出信息,但是一直却不知道他们各自代表什么含义。 程序退出示例 程序进程被各信号终止的退出状态码代表含义总结如下: 进一步总结如下: 能使进程被终止执行并产生core dump的信号,它的退出状态码是信号编号+128,比如SI...

继续访问

Process finished with exit code 137 (interrupted by signal 9: SIGKILL)错误

程序正确运行结束的提示是:Process finished with exit code 0。如果程序出现Process finished with code 137 (interrupted by signal 9: SIGKILL)。程序并没有运行完,系统强制杀死进程,一般来说是因为内存不足或者CPU不够用。 出现这个信息说明发生了内存不足的问题,需要让程序少一些内存占用,在keras中,可以选择小的batch_size,不要把一整个大的文件一次性读到内存里。 loss或者网络的输出不断积累导致计算图

继续访问

Spark:Container exited with a non-zero exit code 137

最近公司用户量暴涨,老板笑嘻嘻,但是搬砖的心里MMP,服务器压力骤然上升,最近大数据集群在跑spark任务时老是报“Container exited with a non-zero exit code 137”这样的错误,详细日志如下: 22/04/29 11:02:27 WARN YarnSchedulerBackend$YarnSchedulerEndpoint: Requesting driver to remove executor 4 for reason Container marked a

继续访问

linux 进程会计,Linux进程退出详解(do_exit)--Linux进程的管理与调度(十四)

1 Linux进程的退出1.1 linux下进程退出的方式1.1.1 正常退出1.1.2 异常退出1.2 _exit, exit和_Exit的区别和联系2 进程退出的系统调用2.1 _exit和exit_group系统调用2.2 系统调用声明2.3 系统调用号2.4 系统调用实现3 do_group_exist流程4 do_exit流程4.1 触发task_exit_nb通知链实例的处理函数4.2...

继续访问

使用nvm时乱码或报错exit status 5/exit status 1

C:\Windows\System32\cmd.exe对该程序右键,使用管理员身份打开,再进行nvm ues 成功。2.exit status 1 目前绝大部分问题是权限不足导致的,正常运行cmd权限是不够了,需要打开C盘。1.exit status 5 目前绝大部分产生这个错误的原因都是因为nvm安装路径存在空格问题。一般默认安装路径尤其是windows系统会有这个问题,只需要换个没有空格的路径即可。

继续访问

Install error "Exit Code: 6" or "Exit Code: 7" | Creative Adobe Production(安装Adobe产品时出错及解决方案)...

安装Adobe 产品时出现以下提示错误: Exit Code: 7 -------------------------------------- Summary -------------------------------------- - 0 fatal error(s), 2 error(s), 4 warning(s) WARNING: DS013: Payload {7E5AA1...

继续访问

linux 已退出进程的退出码,Linux进程退出码

The exit status returned by 'wait()' is a 16-bit value. Of those 16 bits, the high-order 8 bits come from the low-order 8 bits of the value returned by 'exit()' - or the value returned frommain(). If...

继续访问

Linux环境下pycharm报错:Process finished with exit code 137 (interrupted by singal 9: SIGKILL)

Linux环境下pycharm报错:Process finished with exit code 137 (interrupted by singal 9: SIGKILL) 报错情况如下图所示: 环境:VMware16 ubuntu 我在做nemo项目的时候,运

继续访问

Process finished with exit code 1 解决方法汇总

原文在idea启动项目的时候,有时会碰到Process finished with exit code 1 的情况,这里笔者总结了几种场景和对应的解决方法,以供大家参考。

继续访问

Process finished with exit code 143

跑一个深度学习模型 第一次运行出现Process finished with exit code 137 之后再运行均出现Process finished with exit code 143 137是内存不够,143没有查到。然而使用free -m命令查看服务器明明还有40多个G内存 最后解决的办法也很玄学,重启两次笔记本电脑就莫名其妙好了(怀疑是PyCharm的bug,垃圾IDE) ...

继续访问

linux

信号 exit code

写评论

3

53

10

分享

前往


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8480577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存