MySQL
文章平均质量分 72
booth-ZDH
一个不爱敲代码的程序猿----Booth
展开
-
《高性能MySQL》阅读-高性能索引策略
【四非凡人】:才德兼备是圣人,无才有德是贤人, 有才无德是小人,才德俱失是庸人。 高性能的索引策略 独立的列 ① 是指索引列不能是表达式的一部分,也不能是函数的参数(MySQL8.0版本之后可以有函数索引了) 前缀索引和索引的选择 ① 有时索引列字符非常的长,这会让索引变得大且慢 ② 通常可以选择使用索引的部分字符,这样可以大大节约索引空间,这样同样也降低了索引的选择性 **索引的选择性:**不重复的索引值(也称为基数,cardinality)和数据表记录总数(#T)的比值,范围从1/(#T)到1之间。索原创 2021-01-18 18:44:58 · 91 阅读 · 0 评论 -
《高性能MySQL》阅读-索引底层分类
三、创建高性能索引 索引基础 索引基础 索引是存储引擎用于快速查找记录的一种数据结构 索引类型 B-Tree索引: ① 它使用的就是B-Tree数据结构来存储数据的 ② 大多数MySQL引擎都使用的这种索引结构,但是Archive是一个列外,5.1版本之前Archive是不支持索引的,知道5.1才+开始支持单个自增列的索引 ③ 存储引擎以不同的方式使用B-Tree索引,性能也各有优劣:MyISAM使用前缀压缩技术使索引边的更小,但是InnoDB则按照原数据格式进行存储。MyISAM索引通过数据的物理位置原创 2021-01-18 18:43:06 · 65 阅读 · 0 评论 -
《高性能MySQL》阅读-范式和反范式
【卧佛一枕眠】诗号: 苦海无边,欲醒还眠,千程如梦,一枕悠然。 MySQL schema 设计中的陷阱 设计中的陷阱 太多的列 太多的关联 全能的枚举:注意防止过度使用枚举 变相的枚举 非此发明的NULL:建议尽量避免使用NULL,可以使用0、某个特殊值、或者空字符串作为代替 范式和反范式 三范式: ① 第一范式:强调的是列的原子性,即列不能够再分成其他的几列 ② 第二范式:首先要满足第一范式,另外包含两部分,一是表必须有一个主键;二是没有包含在主键中的列必须依赖于主键,而不能只依赖于主键的一部原创 2021-01-18 18:40:39 · 124 阅读 · 0 评论 -
《高性能MySQL》阅读-MySQL选择数据类型二、
承接:《高性能MySQL》阅读-MySQL选择数据类型 整理时间:20210112 22:00-23:00 【星野残红】诗号: 英雄本无泪,怀刀饮寒风。 7. 日期和时间类型 1. MySQL能存储的最小时间粒度为S 2. MySQL提供两种相似的日期类型DATETIME和TIMESTAMP。 DATETIME: ①1001~9999年,精度为S;它把日期和时间封装到格式为YYYYMMDDHHMMSS的整数中,与时区无关。使用8个字节的存储空间 ②默认情况下,MySQL以一种可排序的,无歧义的格式显示DAT原创 2021-01-18 18:37:11 · 98 阅读 · 0 评论 -
《高性能MySQL》阅读- MySQL存储引擎之MyISAM
MySQL存储引擎 承接:《高性能MySQL》阅读 Mysql架构和历史 三、 【鬼王棺】诗号: 遥遥天涯判死生,近近咫尺索命魂。 MySQL存储引擎之MyISAM MySQL5.1版本之前默认的存储引擎,5.5之后完全使用innoDB存储引擎 MyISAM提供了大量的特性:全文索引、压缩、空间函数(GIS)等,MyISAM不支持事务和行级锁,并且崩溃之后无法安全恢复。 如果-对于只读的数据,或者比较小、可以忍受修复操作,则依然可以继续使使用MyISAM 存储:MyISAM会将表存储在两个文件中:数据文原创 2021-01-12 04:25:33 · 144 阅读 · 0 评论 -
MVCC:多版本并发控制(Mutilversion Concurrency Control)
MVCC细讲 20210109 22:00-23:00 ~ 20210111 21:00-24:00阅读整理 【织梦师】诗号: 江湖生涯如梦如幻,织梦一生转眼成空。 1. 致谢: //mysql 官方文档 https://dev.mysql.com/doc/refman/5.7/en/innodb-multi-versioning.html //参考博客: https://blog.csdn.net/waves___/article/details/105295060 https://www.cnblo原创 2021-01-12 04:22:02 · 406 阅读 · 0 评论 -
《高性能MySQL》阅读 -MySQL存储引擎之innoDB
MySQL存储引擎 承接:《高性能MySQL》阅读 Mysql架构和历史 二、 20210108 22:00-24:00阅读整理搬运 25.【太黄君】诗号: 欲知神器十八种,脚担黄土十八层。 MySQL存储引擎之innoDB InnoDB存储引擎:是MySQL的默认存储引擎;InnoDB 通过 MVCC 和 NEXT-KEY Locking 间隙锁策略,解决了在可重复读的事务隔离级别下出现幻读的问题 MVCC:多版本并发控制(Mutilversion Concurrency Control), 行锁定原创 2021-01-12 04:09:15 · 122 阅读 · 0 评论 -
《高性能MySQL》阅读 -MySQL中的事务
20210107 22:00-23:00 承接:《高性能MySQL》阅读 Mysql架构和历史 一、 【一页书】诗号: 世事如棋,乾坤莫测,笑尽英雄啊! 9. MySQL中的事务 1. MySQL中提供了两种事务型擎InnoDB和NDBCluster, 2. MySQL默认是自动提交事务的,就是如果不是显示的开始一个事务,则每个查询都能被当做一个事务执行提交操作 2. 自动提交设置 : show variables like “autocommit”;on为开,off为关 2. 3. set autoco原创 2021-01-12 04:03:42 · 136 阅读 · 1 评论 -
《高性能MySQL》阅读 -Mysql基本特性
一、 Mysql架构和历史 MySQL基础知识 20210106 22:40-24:00阅读整理 【照世明灯】诗号: 难定纷纷甲子年,千魔荡荡白阳天,苍天旨意著书命,诸子虔诚扶道颠; 佛灯点亮华光现,一线生机救末年。 高级特性:最重要、最特殊的特性是它的存储引擎架构,这种架构的设计将查询处理以及其他系统任务和数据的存储/提取相分离 读写锁:在处理并发读/写时,可以通过实现一个由两种类型的锁组成的锁系统来解决问题。这两种类型的锁通常被称为共享锁和排他锁,也叫读锁和写锁;读锁共享,写锁排他 锁粒度:一种提高原创 2021-01-12 03:57:32 · 132 阅读 · 1 评论 -
《高性能MySQL》阅读-MySQL选择数据类型
二、 Schema与数据类型优化 20210112 02:30-03:40整理 【素还真】诗号: 半神半圣亦半仙,全儒全道是全贤; 脑中真书藏万卷,掌握文武半边天。 选择优化的数据类型 选择原则: ① 更小的通常更好—应该尽量使用可以正确存储数据的最小数据类型 ② 简单就好—简单的数据类型的操作通常需要更少的CPU周期 ③ 尽量避免NULL—如果查询中包含NULL的列,对MySQL来说更难优化,因为为null的列是的索引、索引统计和值比较都更为复杂 整数类型 ① 两种类型的数字:整数和实数 ② 整数类型:原创 2021-01-12 03:49:15 · 174 阅读 · 1 评论