
Mysql
sodawoods
LETSGETIT
展开
-
在Mysql中为什么定义varchar(255)?
在mysql中为什么定义varchar(255)?原创 2022-07-19 20:48:44 · 4240 阅读 · 0 评论 -
Mysql Online DDL工具gh-ost
阿里云文章链接:https://developer.aliyun.com/article/594722?spm=a2c6h.14164896.0.0.687732baJjVOFZgitHub链接:https://github.com/github/gh-ost/blob/master/doc/why-triggerless.md?spm=a2c6h.12873639.0.0.435a781fvsuYkn&file=why-triggerless.md原创 2021-04-29 15:29:11 · 111 阅读 · 0 评论 -
Mysql索引-可以给text字段建索引吗?
先给结论,直接在text字段建索引会报错;指定索引前缀的长度,并且长度小于等于767(utf8mb4字符集)、长度小于等于1023(utf8字符集)则可以创建索引。例如对于Mysql5.7,如下的语句会报错”索引长度最大为3072字节“非法CREATE TABLE `test_table` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id', `content` text NOT NULL COMMENT '内容'原创 2021-04-06 21:25:24 · 9609 阅读 · 0 评论 -
Mysql的采坑记录1-慢查询拖垮服务
问题:服务日志中出现CannotGetJdbcConnectionException,如下所示,该怎么排查?org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, r原创 2021-03-21 20:38:16 · 271 阅读 · 0 评论 -
Mysql InnoDB: Page创建、Page Merging和Page Splitting
Page创建Mysql的InnoDB中,库windmills中有一张wmills表,这张表在磁盘中(路径通常是/var/lib/mysql/)由两个文件构成(5.6版本后innodb_file_per_table默认是1),如下data/ windmills/ wmills.ibd wmills.frm如果wmills表中有N个索引wmills.ibd文件中有N个SegmentSegment 每个Segment包含多个ExtentExtent 每个Extent默认原创 2020-12-30 20:54:03 · 508 阅读 · 1 评论 -
MySql:索引
索引可以包含一个或多个列的值。如果索引包含多个列,那么Mysql只能高效地使用索引的最左前缀列。在Mysql中,索引在存储引擎层而不是服务器层实现。Mysql的不同存储引擎支持不同类型的索引,例如InnoDB支持B+树索引、NDB支持T树索引、Memory引擎支持Hash索引、MyISAM引擎支持空间数据索引(R树,可以存储地理空间信息)。由于在生产环境我们主要使用InnoDB作为表的存储引擎,因此这里主要介绍InnoDB相关的索引知识。1 InnoDB的B+树索引InnoDB使用B+树索引。根据B原创 2020-08-09 18:27:12 · 117 阅读 · 0 评论 -
Mysql:数据类型与Schema的设计
1 数据类型选择原则尽量小。应当尽量选择能够正确存储数据的最小的数据类型,因为更小的数据类型会占用更少的CPU、内存和磁盘,从而带来更高的性能。尽可能简单。简单的数据类型的操作通常需要更少的CPU周期,从而带来更高的性能。例如整数就比字符串简单。尽量避免NULL。NULL是列的默认属性,也就是如果定义列时没有指定NOT NULL,默认都是NULL的。查询中包含可为NULL的值,对Mysql来讲更难优化。2 数据类型2.1 整数类型INT,包括TINYINT、SMALLINT、MEDIUMI原创 2020-08-05 00:01:38 · 127 阅读 · 0 评论 -
事务的4种隔离级别
事务的概念事务是一组原子性的SQL查询,事务中的语句要么全部执行成功,要么全部执行失败。事务的ACID特性原子性(Atomicity)。一个事务必须被视为不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚。对于一个事务来说,不可能只执行其中一部分操作。一致性(Consistency)。数据库总是从一个一致性状态转换到另一个一致性状态。隔离性(Isolation)。通常来说,一个事务所做的修改在提交前,对其他事务是不可见的。隔离性与事务的隔离级别有关,我们稍后解释。持原创 2020-08-02 16:27:46 · 848 阅读 · 0 评论