网络异常
请检查网络设置后重试
重新加载
操作系统学习营地
12
成员
登录后加入频道即可发帖
0/1000
不选择版块
发表
全部
lin
频道主
2024-10-28
#开发者
请简述下存储过程及其优点?
存储过程是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库当中,
用户只需要调用存储过程即可(给特定的参数)
存储过程的优点
a.增强了SQL语句的灵活性
b.固定的业务模块化封装,较少开发重复性
c.执行速度很快
d.存储过程被做为一种安全机制,充分的得到了利用
点赞
评论
分享
lin
频道主
2024-10-28
#开发者
慢查询日志是什么?如何配置
当查询超过一定时间没有返回结果的时候,才会记录进慢查询日志。
• 慢查询日志可以帮助 DBA 找出执行效率缓慢的 SQ语句,为数据库优化工作提供帮助。
• 慢查询日志默认是不开启的,建议开启慢查询日志。
• 当需要进行采样分析时手工开启。
【慢查询日志开启】
关于慢查询日志,主要涉及到下面几个参数:
slow_query_log :是否开启慢查询日志功能(必填)
点赞
评论
分享
lin
频道主
2024-10-28
#开发者
如何优化子查询
1.用关联查询替代
2.优化GROUP BY和DISTINCT 这两种查询据可以使用索引来优化,是最有效的优化方法
3.关联查询中,使用标识列分组的效率更高 如果不需要ORDER BY,
进行GROUP BY时加ORDER BY NULL,MySQL不会再进行文件排序。
4.WITH ROLLUP超级聚合,可以挪到应用程序处理
1
评论
分享
lin
频道主
2024-10-28
#Linux技巧
主键使用自增ID还是UUID?
推荐使用自增ID,不要使用UUID。
因为在InnoDB存储引擎中,主键索引是作为聚簇索引存在的,
也就是说,主键索引的B+树叶子节点上存储了主键索引以及全部的数据(按照顺序),
如果主键索引是自增ID,那么只需要不断向后排列即可,如果是UUID,
由于到来的ID与原来的大小不确定,会造成非常多的数据插入,数据移动,
然后导致产生很多的内存碎片,进而造成插入性能的下降。
点赞
评论
分享
lin
频道主
2024-10-28
#开发者
分库分表和表分区的区别?
表分区(Partitioning)可以将一张表的数据分别存储为多个文件。
如果在写 SQL 的时候,遵从了分区规则,
那么就能把原本需要遍历全表的工作转变为只需要遍历表里某一个或某些分区的工作。
这样降低了查询对服务器的压力,提升了查询效率。如果分区表使用得当,
那么也可以大规模地提升 MySQL 的服务能力。
但是这种分区方式,一方面,在使用的时候必须遵从分区规则写 SQL语句,
点赞
评论
分享
lin
频道主
2024-10-27
什么是死锁
死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力作用,它们都将无法推进下去。
如下图所示,线程 A 持有资源 2,线程 B 持有资源 1,他们同时都想申请对方持有的资源,所以这两个线程就会互相等待而进入死锁状态。
点赞
评论
分享
lin
频道主
2024-10-27
什么是协程
协程是一种用户态的轻量级线程。
协程不是由操作系统内核管理,而是完全由用户程序所控制,这样带来的好处就是性能得到了很大的提升,不会像线程切换那样消耗资源。
协程可以理解为可以暂停执行的函数。它拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。
点赞
1
分享
lin
频道主
2024-10-27
多线程相较单线程的好处
1、并发提升程序执行效率。
2、提升CPU利用率,访存的时候可以切换线程来执行。
3、更快的响应速度,可以有专门的线程来监听用户请求和专门的线程来处理请求。比如监听线程和工作线程是两个线程,这样监听就负责监听,工作的就负责工作,监听到用户请求马上把请求转到工作线程去处理,监听线程继续监听。
点赞
1
分享
lin
频道主
2024-10-27
进程和线程的区别
•
调度:
进程是资源管理的基本单位,线程是程序执行的基本单位。
•
切换:
线程上下文切换比进程上下文切换要快得多。
•
拥有资源:
进程是拥有资源的一个独立单位,线程不拥有系统资源,但是可以访问隶属于进程的资源。
•
系统开销:
创建或撤销进程时,系统都要为之分配或回收系统资源,如内存空间,I/O设备等,OS所付出的开销显著大于在创建或撤销线程时的开销,进程切换的开销也远大于线程切换的开销。
点赞
评论
分享
lin
频道主
2024-10-27
操作系统的四个特性?
并发:
同一段时间内多个程序执行(与并行区分,并行指的是同一时刻有多个事件,多处理器系统可以使程序并行执行)。
共享:
系统中的资源可以被内存中多个并发执行的进线程共同使用。
虚拟:
通过分时复用(如分时系统)以及空分复用(如虚拟内存)技术把一个物理实体虚拟为多个。
异步:
系统进程用一种走走停停的方式执行,(并不是一下子走完),进程什么时候以怎样的速度向前推进是不可预知的。
点赞
评论
分享
公告
暂无公告
直播
暂无直播