DataBase
文章目录一、Oracle1.1 查询Oracle各项信息1.2 Oracle12c单机服务启动/停止1.3 Oracle 锁表与解锁1.4 Oracle常用函数二、Mysql2.1 Mysql基础2.1.1 数据存储结构2.1.2 索引2.1.3 SQL优化2.1.4 踩坑备忘2.2 查询Mysql5.7各项信息2.2.1 死锁日志分析2.2.2 分析锁等待关系2.3 Mysql5.7常用函数三、SqlServer1 账户创建2 查看外部连接暴露端口四、数据库事务1 事务的ACID属性2 数据库中的并发问题3 数据库事务的隔离级别一、Oracle1.1 查询Oracle各项信息1、查看当前数据库建立的会话情况selectcount(a.sid)当前会话数,max(b.num)当前活跃数,max(c.value)最大会话数fromv$sessionaleftjoin(selectcount(1)numfromv$sessionwherestatusACTIVE)bon11leftjoin(selectvaluefromv$parameterwherenamesessions)con11;2、查看当前数据库建立的连接情况selectcount(a.pid)当前连接数,max(c.value)最大连接数fromv$process aleftjoin(selectvaluefromv$parameterwherenameprocesses)con11;3、查询数据库正在执行Sql信息进程Id、用户、系统、执行语句...selectalter system kill session ||b.sid||,||b.serial#||; 终止进程,b.sid oracleID,b.username Oracle用户,b.serial#,spid 操作系统ID,paddr,sql_text 执行的SQL,b.machine 计算机名fromv$process ainnerjoinv$sessionbona.addrb.paddrandb.sql_hash_value0leftjoinv$sqlarea conb.sql_hash_valuec.hash_value;1.2 Oracle12c单机服务启动/停止# 停止服务su- oracle sqlplus / as sysdbashutdownimmediate;exitlsnrctl stop# 停止监听# 启动服务lsnrctl start# 启动监听sqlplus / as sysdba startup;exit1.3 Oracle 锁表与解锁-- 查看锁表会话、表名、用户名SELECTa.OS_USER_NAME,c.owner,c.object_name,b.sid,b.serial#, logon_timeFROMv$locked_object a,v$sessionb,dba_objects cWHEREa.session_idb.sidANDa.object_idc.object_idORDERBYb.logon_time;-- 杀死锁表进程ALTERSYSTEMKILLSESSIONsid,serial#;1.4 Oracle常用函数正则表达式函数REGEXP_LIKE(column, regexp)column要匹配的列名或字符串regexp正则表达式如匹配是否包含非字母数字的字符REGEXP_LIKE(col, [^A-Za-z0-9])时间截断函数TRUNC(date, dateFormat)date截断的时间sysdate当前数据库服务器带时区的时间current_timestamp at time zone UTC将当前时间转化为对应时区UTC时间dateFormat截断的时间精度-- 截取到当前年第一天 2024-01-01 00:00:00selecttrunc(sysdate,yyyy)fromdual-- 截取到当前小时 2024-08-28 14:00:00selecttrunc(sysdate,hh24)fromdual-- 截取UCT时区当前小时 2024-08-28 06:00:00selecttrunc(current_timestampattimezoneUTC,hh24)fromdual条件运算符EXISTS (select ...)检测子查询是否返回任何行NOT EXISTS与EXISTS相反先执行外查询逐行取出数据传给内查询进行匹配短路求值特性一旦找到第一个匹配项就立即停止执行返回TRUE无需遍历全部数据内存效率高不需要缓存整个子查询结果集采用流式处理方式子查询中必须包含与外查询表的关联条件当查询外层数据量远小于子集时优先使用EXISTS反之使用IN连表二、Mysql2.1 Mysql基础2.1.1 数据存储结构MyISAMInnoDB2.1.2 索引索引类别索引结构索引优化索引失效2.1.3 SQL优化计划字段优化查询2.1.4 踩坑备忘2.2 查询Mysql5.7各项信息-- 所有连接进程showprocessList-- 线程连接统计showstatuslikethreads%;-- 数据库最大连接数showvariableslikemax_connections;-- 最近一次死锁日志showengineinnodbstatus;-- 开启死锁全局日志记录setglobalinnodb_status_outputon;-- 错误日志路径showvariableslikelog_error;-- 慢sql日志路径showvariableslikeslow_query_log_file;-- 通用查询日志路径对性能影响大通常不开showvariableslikegeneral_log%;2.2.1 死锁日志分析查看最近一次死锁日志事务1事务1611699052已活跃 61 秒正在获取行fetching rows在等待一个 X锁排他锁被授予这个锁是在表 tb_ems_fittings_storehouse 的 PRIMARY 索引上space id 250 page no 138 n bits 168 index PRIMARY事务2事务2611699179已活跃 35 秒正在开始索引读取starting index read持有一个在 PRIMARY 索引上的 X锁lock_mode X locks rec but not gap这个锁恰好是事务1正在等待的锁同时在等待另一个在 PRIMARY 索引上的 X锁space id 250 page no 67死锁的处理结果InnoDB 选择回滚了事务2WE ROLL BACK TRANSACTION (2)来解除死锁。被回滚的事务通常被认为是相对“代价较小”的那个例如修改的行数较少或回滚日志较少2.2.2 分析锁等待关系-- 当前锁等待关系SELECTr.trx_idASwaiting_trx_id,r.trx_mysql_thread_idASwaiting_thread,r.trx_queryASwaiting_query,b.trx_idASblocking_trx_id,b.trx_mysql_thread_idASblocking_thread,b.trx_queryASblocking_query,b.trx_startedASblocking_start_time,TIMESTAMPDIFF(SECOND,b.trx_started,NOW())ASblocking_duration_sec,pl.lock_modeASlock_mode,pl.lock_typeASlock_type,pl.lock_tableASlocked_table,pl.lock_indexASlocked_indexFROMinformation_schema.innodb_lock_waits wINNERJOINinformation_schema.innodb_trx bONb.trx_idw.blocking_trx_idINNERJOINinformation_schema.innodb_trx rONr.trx_idw.requesting_trx_idINNERJOINinformation_schema.innodb_locks plONpl.lock_idw.blocking_lock_id;-- 当前运行事务SELECT*FROMinformation_schema.INNODB_TRXORDERBYTRX_STARTEDASC;-- 当前被锁的表SHOWOPENTABLESWHEREIn_use0;waiting_thread等待锁的事务ID受害者blocking_thread持有锁的事务ID凶手waiting_query受害者正在执行的SQLblocking_query凶手正在执行的SQLblocking_duration_sec凶手已经运行了多久时间过长通常有问题locked_table被锁定的表locked_index被锁定的索引2.3 Mysql5.7常用函数相关文档w3schools 教程_Mysql参考手册日期加减DATE_ADD(inputDate, INTERVAL expr unit)inputDate:输入时间合法日期表达式expr:时间间隔正加负减unit:单位是以下值之一MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR等-- 当前时间减三十天selectdate_add(now(),interval-30day)-- 当前时间加24小时selectdate_add(now(),interval30day)字符串转化时间STR_TO_DATE(str, format)str转化字符串format指定转化时间格式符号具体符号含义如下表selectstr_to_date(2025-04-23 12:00:01,%Y-%m-%d %H:%i:%s)时间转化字符串DATE_FROMAT(data, format)date转化时间format指定转化时间格式符号具体符号含义如下表selectdate_format(now(),%Y-%m-%d %H:%i:%s)符号描述%a工作日的缩写名称周日至周六%b缩写月份名称1 月至 12 月%c数字月份名称0 到 12%D以数字形式表示的月份中的日期后跟后缀 (1st, 2nd, 3rd, …)%d以数值表示的月份中的日期01 到 31%e以数字形式表示的月份中的日期0 到 31%f微秒000000 到 999999%H小时00 到 23%h小时00 到 12%I小时00 到 12%i分钟00 到 59%j一年中的某一天001 到 366%k小时0 到 23%l小时1 到 12%M完整的月份名称1 月至 12 月%m数字形式的月份名称01 到 12%p上午或下午%r12 小时 AM 或 PM 格式的时间 (hh:mm:ss AM/PM)%S秒00 到 59%s秒00 到 59%T24 小时制时间 (hh:mm:ss)%U星期天是一周的第一天00 到 53%u星期一是一周的第一天的星期00 到 53%V星期天是一周的第一天01 到 53。与%v星期一是一周的第一天的星期01 到 53。与%W完整的工作日名称周日至周六%w星期天0星期六6%X星期天是一周的第一天的星期。与%x星期一是一周的第一天的一周的年份。与%Y4 位数字形式的年份%y2 位数字形式的年份三、SqlServer1 账户创建右键管理员运行SQL Server Management Studio进入权限界面Security - Logins右键New Login设置账号密码选择权限角色2 查看外部连接暴露端口运行SQL Server Configuration Manager选择SQL Server Network Config右键TCP/IP查看对应属性TCP Dynamic Ports四、数据库事务1 事务的ACID属性原子性(Atomicity)事务是一个不可分割的工作单位事务中的操作要么都发生要么都不发生一致性(Consistency)事务中操作的数据总是随操作从某一个稳定的状态转变为另一个稳定的状态隔离性(Isolation)每个事务之间互不干扰持久性(Durability)事务一旦提交对数据库的改变就是永久性的2 数据库中的并发问题不同事务同时访问相同数据造成并发问题 脏读 不可重复读 幻读脏读两个事务一个事务读取到了另一个事务未提交的数据不可重复读在一个事务内两次先后读的数据不一样因为别的事务在更改这个数据幻读在一个事务内读取到别的事务插入的数据3 数据库事务的隔离级别读未提交(READ UNCOMMITED)级别最低允许事务读取其他事务未提交的数据读已提交(READ COMMITED)解决脏读只允许事务读取其他事务已提交的数据不可避免(不可重复读、幻读)可重复读(REPEATABLE READ)解决不可重复读不可避免(幻读)串行化(SERIALIZABLE)解决所有并发问题直接让每个事务串行运行效率低下Oracle 支持2种事务隔离级别读已提交、串行化Mysql 支持3种事务隔离级别读已提交、可重复读、串行化那些操作会导致数据的自动提交?DDL(Data Definition Language)数据定义语言 操作一旦执行都会自动提交 set autocommit false 无效DML(Data Manager Language)数据管理语言 默认自动提交 set autocommit false 可以取消自动提交连接一关闭数据就会自动提交自动提交关闭用完之后要变回去 数据一旦发生异常记得回滚 conn.rollback();

相关新闻

Unity DOTS BlobAsset:ECS架构下高性能只读数据共享方案详解

Unity DOTS BlobAsset:ECS架构下高性能只读数据共享方案详解

1. 项目概述:为什么我们需要 BlobAsset?如果你已经跟着 DOTS 系列一路走来,从 Entity 创建到 System 调度,再到 IComponentData 和 IJobEntity,你应该已经感受到了 ECS 架构在性能上的巨大潜力。数据紧密排列&#xff…

2026/7/28 22:07:00 阅读更多 →
如何在10分钟内为Honey Select 2安装终极汉化去码补丁:完整新手指南

如何在10分钟内为Honey Select 2安装终极汉化去码补丁:完整新手指南

如何在10分钟内为Honey Select 2安装终极汉化去码补丁:完整新手指南 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF Patch是专为Honey Selec…

2026/7/28 22:07:00 阅读更多 →
WordPress高转化技术栈:2024年性能优化实战指南

WordPress高转化技术栈:2024年性能优化实战指南

1. 项目概述:WordPress高转化技术栈的核心价值在数字营销领域,转化率提升1%可能意味着六位数的收入增长。作为从业12年的WordPress技术顾问,我见证了无数企业因技术栈选择不当而损失潜在客户。2024年的WordPress技术生态已发生质变&#xff0…

2026/7/28 22:07:00 阅读更多 →

最新新闻

YOLOv11改进|注意力机制|轻量化多尺度线性注意力机制(LiteMLA)

YOLOv11改进|注意力机制|轻量化多尺度线性注意力机制(LiteMLA)

1.多尺度线性注意力机制 题目:EfficientViT: Multi-Scale Linear Attention for High-Resolution Dense Prediction GitHub地址:https://github.com/mit-han-lab/efficientvit 创新部分: 多尺度线性注意力机制(Multi-Scale Linear Attention): 论文提出了一种高效的多尺…

2026/7/28 22:17:08 阅读更多 →
电厂运维数据怎么自动采集?解析企业级智能自动化实现路径与方案测评

电厂运维数据怎么自动采集?解析企业级智能自动化实现路径与方案测评

在工业与能源领域,电厂及相关设施的运维数据自动采集已从传统的“人工抄表”模式,全面转向基于数字化、网络化与智能化的全流程自动抓取与云端归档。这一转型不仅是技术迭代的体现,更是提升能源管控效率、确保生产安全及合规性的必然要求。根…

2026/7/28 22:17:08 阅读更多 →
VCG拍卖机制:原理、实现与应用场景解析

VCG拍卖机制:原理、实现与应用场景解析

1. VCG机制核心概念解析VCG(Vickrey-Clarke-Groves)机制作为拍卖理论与算法博弈论中的经典模型,本质上是一种保证激励相容的分配与定价规则。我在研究广告竞价系统时首次接触到这个精妙的机制设计,其核心思想是通过巧妙的支付规则…

2026/7/28 22:17:08 阅读更多 →
4 个维修隐坑|广州笔记本 WiFi 频繁断连重启自查,别盲目花钱换网卡

4 个维修隐坑|广州笔记本 WiFi 频繁断连重启自查,别盲目花钱换网卡

日常办公常见的 WiFi 异常困扰💻很多人办公时都遇到过这种糟心情况,笔记本连着 WiFi 好好的,刷网页、办公突然断网,图标转圈几秒后自动重连。看似小问题,频繁发作会直接打断办公进度、导致文件传输中断、线上会议意外掉…

2026/7/28 22:17:08 阅读更多 →
LabVIEW与Arduino实现多路DS18B20温度采集:单总线组网与高效读取策略

LabVIEW与Arduino实现多路DS18B20温度采集:单总线组网与高效读取策略

1. 项目缘起与核心挑战上次我们聊了用LabVIEW和Arduino搞定单个DS18B20温度采集,算是把基础流程跑通了。但很多朋友在实际项目中,比如环境多点监测、设备温度场分析,一个传感器根本不够用。这时候,多路DS18B20的组网采集就成了刚需…

2026/7/28 22:17:08 阅读更多 →
解决PyTorch项目中openpyxl依赖缺失问题

解决PyTorch项目中openpyxl依赖缺失问题

1. 问题现象与背景解析 最近在调试一个PyTorch数据处理脚本时,遇到了一个典型的Python依赖报错:"ImportError: Missing optional dependency openpyxl. Use pip or conda"。这个错误看似简单,但背后涉及Python包管理、依赖解析和开…

2026/7/28 22:16:08 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻