
关系型数据库
关系型数据库
新新许愿树
人生就像滚雪球,关键是要找到足够湿的雪,和足够长的坡。
展开
-
MySQL 5.6 Keywords and Reserved Words(关键字和保留词)
MySQL 5.6 Keywords and Reserved Words(关键字和保留词)整理,拿走不谢。官方链接ACCESSIBLE,ACTION,ADD,AFTER,AGAINST,AGGREGATE,ALGORITHM,ALL,ALTER,ANALYSE,ANALYZE,AND,ANY,AS,ASC,ASCII,ASENSITIVE,AT,AUTHORS,AUTOEXTEND...原创 2020-02-20 10:16:36 · 796 阅读 · 0 评论 -
MySQL编程 优化篇(七) 优化MySQL Server
目录MySQL体系结构概览内存管理及优化优化原则InnoDB优化策略调整参数来优化InnoDB的性能InnoDB doublewriteInnoDB log机制及优化InnoDB重做日志innodb_flush_log_at_trx_commitMySQL体系结构概览MySQL实例由一组后台线程、一些内存块和若干服务线程组成。在默认情况下,MySQL...原创 2019-12-18 17:28:11 · 1253 阅读 · 0 评论 -
MySQL编程 优化篇(六) 锁问题
目录MyISQM表锁InnoDB锁问题事务隔离级别InnoDB的行锁模式InnoDB行锁实现方式Next-Key锁恢复和复制的需要,对InnoDB锁机制的影响什么时候使用表锁关于死锁具体的可以查看我的另外一篇博客,下面只摘取部分介绍!表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁...原创 2019-12-18 17:21:55 · 258 阅读 · 0 评论 -
MySQL编程 优化篇(五) 优化数据库对象
优化表的数据类型在MySQL中,可以使用函数PROCEDURE ANALYSE()对当前应用的表进行分析,该函数可以对数据表中列的数据类型提出优化建议,用户可以根据应用的实际情况酌情考虑是否实施优化。使用方法:mysql> mysql> select * from t PROCEDURE ANALYSE();+-------------+-----------+----...原创 2019-12-18 17:04:19 · 190 阅读 · 0 评论 -
MySQL编程 优化篇(四) SQL优化(ⅳ)常用SQL优化
目录大批量插入数据优化order by语句MySQL中有两种排序方式Filesort的优化优化group by语句优化嵌套查询优化分页查询巧用 Rand() 提取随机行数据库名、表名大小写问题大批量插入数据 因为InnoDB类型的表是按照主键的顺序保存的,所以将导入的数据按照主键的顺序排列,可以有效地提高导入数据的效率。 在导入前关闭唯...原创 2019-12-18 16:50:20 · 175 阅读 · 0 评论 -
MySQL编程 优化篇(三) SQL优化(ⅲ)两个常用的优化技巧
定期分析和检查表分析表的语法如下:ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] . .分析的结果将可以使得系统得到准确的统计信息,使得SQL能够生成正确的执行计划。在分析期间,会使用一个读取锁定对表进行锁定。案例:检查表的语法如下:CHECK TABLE tbl_name [, tbl_name...原创 2019-12-18 16:47:25 · 168 阅读 · 0 评论 -
MySQL编程 优化篇(二) SQL优化(ⅱ)索引问题
目录索引的分类能够使用索引的典型场景存在索引但不能使用索引的典型场景索引的分类 B-Tree索引:最常见的索引类型,大部分引擎都支持B树索引 HASH索引:只有Memory引擎支持,使用场景简单 R-Tree索引(空间索引):空间索引是MyISAM的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少,不做特别介绍 Full-text(...原创 2019-12-18 16:45:07 · 135 阅读 · 0 评论 -
MySQL编程 优化篇(一) SQL优化(ⅰ)优化SQL的一般步骤
目录优化SQL的一般步骤通过show status命令了解各种SQL的执行频率定位执行效率较低的SQL语句show profile的使用优化SQL的一般步骤通过show status命令了解各种SQL的执行频率mysql> show status like 'Com_%';通常比较关心以下几个统计参数:参数 说明 Com_ select...原创 2019-12-18 16:42:39 · 157 阅读 · 0 评论 -
InnoDB存储引擎(五)索引与算法
目录5.1 概述5.2 数据结构与算法5.2.1 二分查找法5.2.2 二叉查找树和平衡二叉树5.2.3 B+树5.3 B+树索引5.3.1 聚集索引和非聚集索引5.3.2 B+树索引的使用联合索引覆盖索引优化5.4 B+树索引的分裂5.5 Cardinality值5.6 全文索引5.1 概述InnoDB支持以下几种常见的索引:...原创 2019-10-10 11:31:29 · 528 阅读 · 0 评论 -
InnoDB存储引擎(四)表
目录4.1 索引组织表4.2 InnoDB逻辑存储结构4.2.1 表空间4.2.2 段4.2.3 区4.2.4 页4.2.5 行4.3 行记录格式4.3.1 Compact行记录格式4.3.2 行溢出数据4.3.4 CHAR的行结果存储4.4 InnoDB数据页结构4.4.1 Infimum和Supremum Record4.4.2 P...原创 2019-09-28 16:13:06 · 460 阅读 · 0 评论 -
InnoDB存储引擎(三)文件
目录3.1 参数文件3.2 日志文件3.2.1 错误日志3.2.2 慢查询日志3.2.3 查询日志3.2.4 二进制日志3.3 套接字文件3.4 pid文件3.5 表结构定义文件3.6 InnoDB存储引擎文件3.6.1 表空间文件3.6.2 重做日志文件MySQL数据库和InnoDB存储引擎表的各种类型文件如下: 参数文件:告诉MySQL...原创 2019-09-20 14:24:16 · 558 阅读 · 0 评论 -
InnoDB存储引擎(二)InnoDB存储引擎
目录2.1 InnoDB体系结构2.1.1 后台线程2.1.2 内存缓冲池LRU List、Free List和Flush List重做日志缓冲额外的内存池2.2Checkpoint技术2.3Master Thread工作方式2.4InnoDB关键特性2.4.1 插入缓冲2.4.2 二次写2.4.3 自适应哈希索引2.4.4 异步...原创 2019-09-14 20:35:55 · 369 阅读 · 0 评论 -
InnoDB存储引擎(一)MySQL体系结构和存储引擎
最近在学习MySQL技术内幕 InnoDB存储引擎 第2版,整理了一些文档分享出来,同时也方便以后查看。若有不当之处,烦请批评指正。有关内容地址如下:InnoDB存储引擎(二)InnoDB存储引擎InnoDB存储引擎(三)文件InnoDB存储引擎(四)表InnoDB存储引擎(五)索引与算法InnoDB存储引擎(六)锁InnoDB存储引擎(七)事务InnoDB存储...原创 2019-09-12 16:57:41 · 406 阅读 · 0 评论 -
InnoDB存储引擎(六)锁
目录6.1 什么是锁6.2 lock和latch6.3 InnoDB存储引擎中的锁6.3.1 锁的类型6.3.2 一致性非锁定读6.3.3 一致性锁定读6.3.4 自增长与锁6.3.5 外键和锁6.4 锁的算法6.4.1 行锁的三种算法6.4.2 解决Phantom Problem6.5 锁问题6.5.1 脏读6.5.2 不可重复读6.5...原创 2019-10-16 11:37:20 · 354 阅读 · 0 评论 -
InnoDB存储引擎(七)事务
目录7.1 概述7.1.1 ACID7.1.2 分类7.2.1 redo基本概念log block重做日志格式LSN(Log Sequence Number)恢复7.2.2 undo基本概念存储管理格式purgegroup commit7.3 事务控制语句7.4 隐式提交的SQL语句7.5 不好的事务习惯7.1 概述...原创 2019-10-24 17:01:22 · 590 阅读 · 0 评论 -
InnoDB存储引擎(八)备份与恢复
目录8.1 备份与恢复概述8.2 冷备8.3 逻辑备份8.4 二进制日志备份与恢复8.5 热备8.6 快照备份8.7 复制8.8 企业实现MySQL数据库提供的大部分工具(如mysqldump、ibbackup、replication)都能很好地完成备份的工作,当然也可以通过第三方工具来完成,如xtrabacup、LVM快照备份等。8.1 备份与恢复概述...原创 2019-10-31 16:56:02 · 549 阅读 · 0 评论 -
MySQL编程 基础篇(二)SQL执行流程
对于查询处理,可将其分为逻辑查询处理及物理查询处理。逻辑查询处理表示执行查询应该产生什么样的结果,而物理查询代表MySQL数据库是如何得到该结果的。逻辑查询处理的顺序以及步骤的序号,每一步操作都会产生一个虚拟表,该虚拟表作为下一个处理的输入。这些虚拟表对用户是透明的,只有最后一步生成的虚拟表才会返回给用户,如果没有在查询中指定某一子句,则将跳过相应的步骤。 from,左表和右表...原创 2019-11-28 17:24:08 · 509 阅读 · 0 评论 -
MySQL编程 基础篇(一)EXPLAIN + SQL编程 + 数据类型
目录explain执行计划字段说明select_typetype:Join TypesExtra Informationsql编程数据类型explain执行计划数据库版本:SELECT VERSION() 5.7.18-log官网:https://dev.mysql.com/doc/refman/5.7/en/explain-output.html字...原创 2019-11-28 17:19:41 · 357 阅读 · 0 评论 -
Windows10 安装DB2数据库
最近由于学习的需要,需在Windows10上安装DB2数据库,在网上百度了好多内容,一直摸不着头脑,最后终于找到一篇博客,亲测可行。 为了节省内存,没有使用Aqua Data Studio链接数据库,而是使用Idea链接数据库。 博客地址:https://blog.youkuaiyun.com/u012225679/article/details/754187...原创 2018-10-01 15:29:47 · 13946 阅读 · 11 评论 -
MySQL面试题
SQL查询:查询你们班身高最高的三个男生(开放题)这个题比较开放,有各种回答。我当时回答的是要使用到limitwhereorderby,面试官就继续追问“那你默认的就是你们学校的所有人都在同一个表了?”MySQL函数...原创 2018-09-20 18:17:33 · 286 阅读 · 0 评论 -
Oracle中sum函数和case when联合使用,报“ORA-00923: 未找到要求的 FROM 关键字”错误
在做行转列的时候,一直报“ORA-00923: 未找到要求的 FROM 关键字”,找了好久的错,现记录下来以便以后查看。 需求是这样的:按系(系名)分段统计(成绩小于 60 分,60-85 分, 85 分以上)“大学物理”课程各分数段的学生人数,及各系学生的平均成绩。附上出错时的代码和结果,除去红色部分标记的地方,一切运行正常最后发现是别名用错了,...原创 2018-05-22 20:49:13 · 4747 阅读 · 0 评论 -
Oracle程序题之:夺冠球队
表 nba 记录了 nba(team VARCHAR2(10),y NUMBER(4))夺冠球队的名称及年份:TEAM Y-------------------------活塞 1990公牛 1991公牛 1992公牛 ...原创 2018-04-23 10:18:52 · 1868 阅读 · 0 评论 -
Oracle样例数据库(SCOTT)的SQL查询题
请用一条sql语句查询出scott.emp表中每个部门工资前三位的数据,显示结果如下:DEPTNO SAL1SAL2 SAL3---------------- ---------- ------------ 10 5000 2450 1300 20 3000 2975...原创 2018-04-23 09:46:12 · 2319 阅读 · 0 评论 -
MySQL获取字段类型的三种方式
1. INFORMATION_SCHEMA.COLUMNSINFORMATION_SCHEMA是每个MySQL实例中的数据库,该实例存储有关MySQL服务器维护的所有其他数据库的信息。如查询某一个表的字段信息:SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'crm_user'还可以通过INFORMATION...原创 2019-07-17 17:03:44 · 6759 阅读 · 0 评论 -
db2 解决load数据时报row found on wrong partition
客户给我们传了723万条数据,load数据,将数据分为6个文件后,一直报行出错,解决了好久,最后发现时文件格式的问题... 原因:客户导出数据时,使用的可能使windows或者aix系统,而我们使用的是linux系统,不同的系统之间,换行符是不同的,就会导致文件格式错误。 解决方法就是将文件格式改为linux格式,或者将文件另存为linux+no BO...原创 2018-12-17 18:19:02 · 670 阅读 · 0 评论