数据库
sodawoods
LETSGETIT
展开
-
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 · 9236 阅读 · 0 评论 -
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 · 104 阅读 · 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 · 117 阅读 · 0 评论 -
事务的4种隔离级别
事务的概念事务是一组原子性的SQL查询,事务中的语句要么全部执行成功,要么全部执行失败。事务的ACID特性原子性(Atomicity)。一个事务必须被视为不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚。对于一个事务来说,不可能只执行其中一部分操作。一致性(Consistency)。数据库总是从一个一致性状态转换到另一个一致性状态。隔离性(Isolation)。通常来说,一个事务所做的修改在提交前,对其他事务是不可见的。隔离性与事务的隔离级别有关,我们稍后解释。持原创 2020-08-02 16:27:46 · 823 阅读 · 0 评论 -
数据库连接池大小的设置
数据库连接池HikariHikari github地址ConnectionPool大小配置Hikari github地址https://github.com/brettwooldridge/HikariCPConnectionPool大小配置https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing(1)数据库的主...原创 2019-11-02 23:42:11 · 271 阅读 · 0 评论