对数据类型的选择将影响与数据库交互的应用程序的性能. 1.通常来说,如果一个页内可以存放尽可能多的行,那么数据库的性能就越好,因此选择一个正确的数据类型至关重要. 2.另一方面,如果在数据库中创建表时选择了错误的数据类型,那么后期的维护成本可能非常大,用户需要花大量时间进行ALTER TABLE 操作. 1. 数据类型 1. UNSIGNED 将数字类型无符号化. 例如: INT 的类型范围是 -2147483648 ~ 2147483647 INT UNSIGNED 的 类型范围是 0 ~ 4…
1._rowid 类似Oracle的rowid mysql> ; +-------+----+----------------+-------------+---------------+------------+ | rowid | ID | Name | CountryCode | District | Population | +-------+----+----------------+-------------+---------------+------------+ | | | K…
1.MySQL的历史,一些相关概念. 2.MySQL数据类型 *通常一个页内可以存放尽可能多的行,那么数据库的性能就越好,选择一个正确的数据类型至关重要. 1>UNSIGNED类型: 将数字类型无符号化. 2>ZEROFILL: 可以格式化整形显示,一旦启用该属性,MySQL数据库为列自动添加UNSIGNED属性.0填充. 3>日期和时间类型 日期数据类型占用空间的情况 类型 起始范围 结束范围 DATETIME 1000-01-01 00:00:00 9999-12-31 23:59:…
1.概述 是一个高性能.高可用.高扩展的存储引擎. 2.InnoDB体系架构 InnoDB存储引擎主要由内存池和后台线程构成. 其中,内存池由许多个内存块组成,作用如下: 维护所有进程和线程需要访问的内部数据结构. 缓存磁盘上的数据,提高处理器读取速度,当数据被修改的时候也是先修改这里的数据,再被后台线程写到内存上去. 重做日志(redo log)缓冲. 后台线程的主要作用: 负责刷新内存池中的数据,以保证缓冲池中数据是最近的数据. 将缓冲中的数据刷新到磁盘上. 保证数据库发生异常的时候 ,数据…
第四章 子查询:在外部查询内嵌套的内部查询(按照期望值的数量分为,标量子查询 scalar subqueries,多值子查询multivalued subqueries)(按照子查询对外部查询的依赖性分为独立子查询self-contained subqueries和相关子查询 correlated subqueries) 应用一:关系分区问题,使用group by和distinct count 来解决关系分区问题 Eg:NorthWind返回每个美国员工至少为其处理过一个订单的所有客户 独立子查…
使用MySQL 选择数据库 使用USE关键字 USE database; 了解数据库和表 如果不知道可以使用的数据库名时,可用MySQL的SHOW命令来显示这些信息. SHOW DATABASES; SHOW DATABASES;返回可用数据库的一个列表.包含在这个列表中的可能是MySQL内部使用的数据库 为了获得一个数据库内的表的列表,使用 SHOW TABLES; SHOW也可以用来显示表列 SHOW COLOMNS FROM database; SHOW COLUMNS 要求给出一个表名…
1. InnoDB 体系架构 其中,后台程序主要负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据. 此外将已经修改的数据刷新到磁盘文件,同时保证在数据库发生异常的时候Innodb能恢复正常运行状态. 1.1 后台线程 1.1.1 Master Thread 这是一个核心的后台程序,主要负责将缓存池中的数据异步刷新到磁盘,保证数据一致. 包括:脏数据的刷新,合并插入缓冲(Insert buffer),UNDO页的回收. 1.1.2 IO Thread 在Innondb存nc储引擎中大量…
<[MySQL技术内幕:SQL编程>读书笔记 2019年3月31日23:12:11 严禁转载!!! <MySQL技术内幕:SQL编程>这本书是我比较喜欢的一位国内作者姜承尧, 早年在学mysql时就听过姜老师的开源mysql网络视频教程, 记得在视频时总是姜老师姜老师的自称, 感到十分的亲切. 这本书主要是讲mysql在应用编程时如何正确并且更高效的根据业务场景编写相应的sql语句. 从一开始对mysql的历史, 数据库类型, 分支版本, 咋一看, 还挺熟悉的, 这个逻辑顺序不就是…
题记:写代码已经有2年了,学到了很多知识,但是没有一个好习惯去记录,去分享,好多知识点都会忘记,所以从今天开始学着像大牛一样去记录自己经历项目的点点滴滴,先从最近读<Mysql技术内幕>开始吧,写一个完整的读书笔记吧:废话不多说了,Let's go! 哈哈...     做为一个程序员来说,都要和数据库打交道,不管是关系型的(SQL Server.MySql.Oracle等),还是非关系型的(MongoDB等);我觉得只要使用过或者了解过,大家或多或少的都掌握了SQL的术语和基本概念,例如:数…
MYSQL 技术内幕 Mysql体系 连接池组件 管理服务和工具 SQL接口 查询分析器 优化器 缓冲 插件式存储引擎 物理文件 存储引擎 InnoDB(默认引擎) 支持事务 行锁设计 多版本并发控制,4种隔离级别 next-key locking 插入缓存 二次写 自适应哈希索引 预读 聚集 高可用 高性能 高可拓展 MyISAM 不支持事务 表锁设计.全文索引 缓冲池只缓存索引文件 Maria 设计用来取代MyISAM的 支持缓存数据和索引文件,应用了行锁设计,提供了MVCC 支持事务和非事…