
MySQL
文章平均质量分 76
MySQL相关学习
君战
凡是过往,皆是序章
展开
-
MySQL-在字段上使用函数不会走索引的原因是什么?
题记我们常常从关于MySQL的各种技术博客、书籍上面看到这样一句话:“不能在字段上使用函数,否则就不会走索引”。那么这句话的依据是什么呢?本文就围绕“不能在字段上使用函数,否则就不会走索引”这句话来展开分析。Talk is cheap. Show me the code假设存在这样一张交易记录表-trade_log,该表中存在三个字段id(主键),operator_id(操作人id)、create_time(交易时间)。建表语句:CREATE TABLE `trade_log` ( `id`原创 2021-02-18 10:39:22 · 2362 阅读 · 0 评论 -
MySQL逻辑架构
大体来说,MySQL可以分为两层:Server层和存储引擎层。Server层Server层包含连接器、查询缓存、分析器、优化器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层而存储引擎层负责数据的存储和提取,其架构模式是插件式的,支持InnoDB、MyISAM、Memory等多个存储引擎。不同的存储引擎共用一个Server层。连接器第一步是要和数据库建立链接,这时候就要和连原创 2021-02-03 07:57:23 · 221 阅读 · 0 评论 -
基于主键索引和普通索引的查询区别
聚簇索引与非聚簇索引假设存在这样一个表,表t1,主键为int类型的id,还有一个int类型的num。create table t1( int id primary key auto_increment; int num not null, index idx_num(num))engine = innodb;其第一行到第五行的数据分别为:(100,1)、(200,2)、(300,3)、(400,4)、(500,5),那么对应的B+Tree为:可以看出,主键索引的叶子节点存放的是整行数原创 2021-01-19 09:53:30 · 2625 阅读 · 6 评论 -
MySQL-创建表时建立索引和在已存在表中添加索引
MySQL提供了多种在单列或多列上创建索引的方法:一种是在创建表时制定索引列;另一种是使用ALTER TABLE 语句在已存在的表上创建索引,或者使用CREATE_INDEX 在已存在的表上创建索引。1. 在 创建表时创建【普通】索引语法格式为:CREATE TABLE Y1 ( COLUMN_NAME DATA_TYPE SCHEME, [UNIQUE | FULLTEXT | ...原创 2019-10-07 16:48:44 · 12319 阅读 · 0 评论