随笔分类 -  Mysql

创建索引的原则
摘要:索引虽好,但也不是无限制的使用,最好符合一下几个原则 1) 最左前缀匹配原则,组合索引非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索 阅读全文

posted @ 2020-04-14 18:00 不要挡着我晒太阳 阅读(510) 评论(0) 推荐(0) 编辑

索引使用场景
摘要:where 根据id查询记录,因为id字段仅建立了主键索引,因此此SQL执行可选的索引只有主键索引,如果有多个,最终会选一个较优的作为检索的依据。 -- 增加一个没有建立索引的字段alter table innodb1 add sex char(1);-- 按sex检索时可选的索引为nullEXPL 阅读全文

posted @ 2020-04-14 17:14 不要挡着我晒太阳 阅读(1166) 评论(0) 推荐(0) 编辑

MySQL优化(7):其他注意事项
摘要:DDL执行 线上服务器执行DDL,更新表结构,需要谨慎,结构更改会导致全表被独占锁定(新版本有改善) 避免这种情况,使用COPY策略,而不是直接执行ALTER TABLE语句 思路:创建一个新表,满足新要求,将旧表数据逐条导入新表,同时表上可以执行其他任务,导入的过程其他任务都记录在日志,导入完成后 阅读全文

posted @ 2020-03-18 19:48 不要挡着我晒太阳 阅读(135) 评论(0) 推荐(0) 编辑

MySQL优化(6):分表和读写分离
摘要:分表 通常指:通过应用程序层,将数据划分到不同的表中进行存储 对比分区,分区是在服务器层完成的分区算法 分表会导致客户端明显的改变,在服务器端出现结构相同的多张表,甚至可以把多张表分到不同的服务器上 以账单表为例:数据库可能会有这样的情况 create table bill201710( id in 阅读全文

posted @ 2020-03-18 19:45 不要挡着我晒太阳 阅读(140) 评论(0) 推荐(0) 编辑

MySQL优化(5):分区
摘要:分区: 分区也是MySQL优化中的一个重要方式 将一个表中的数据和索引,分散到不同的文件中进行存储 通常情况下,一个表,对应一组数据和索引文件,一个表的数据和索引集中存储在这组文件中 当一个表出现了大量的记录时,可以将其分布到不同的数据和索引文件中进行存储 Innodb来说,一个表对应多个ibd文件 阅读全文

posted @ 2020-03-18 19:23 不要挡着我晒太阳 阅读(251) 评论(0) 推荐(0) 编辑

MySQL优化(4):查询缓存
摘要:查询缓存: MySQL提供的数据缓存QueryCache,用于缓存SELECT查询的结果 默认不开启,需要在配置文件中开启缓存(my.ini/my.cnf) 在[mysqld]段中,修改query_cache_type完成配置: 0:关闭 1:开启,但是默认缓存,需要增加sql-no-cache提示 阅读全文

posted @ 2020-03-18 19:10 不要挡着我晒太阳 阅读(201) 评论(0) 推荐(0) 编辑

MySQL优化(3):索引
摘要:MySQL优化中,最重要的优化手段就是索引,也是最常用的优化手段 索引简介: 索引:关键字与数据位置之间的映射关系 关键字:从数据中提取,用于标识,检索数据的特定内容 目的:加快检索 索引检索为什么快: (1)关键字相对于数据本身,量较小 (2)关键字都是排序好的 MySQL中索引的类型: 普通索引 阅读全文

posted @ 2020-03-18 19:07 不要挡着我晒太阳 阅读(149) 评论(0) 推荐(0) 编辑

MySQL优化(2):存储引擎和锁
摘要:存储引擎: 早期的时候,存在如何选择MyISAM和Innodb? 现在,Innodb不断地发展完善,成为了主流的存储引擎。 因此5.5之后的mysql,无脑选择Innodb即可。 MYSQL中的数据,索引以及其他的对象,是如何存储的,是一套文件系统的实现。 MYSQL支持很多的存储引擎,使用 SHO 阅读全文

posted @ 2020-03-18 19:05 不要挡着我晒太阳 阅读(167) 评论(0) 推荐(0) 编辑

MySQL优化(1):字段的设计
摘要:Web项目中,当Java或者Go等语言速度提升到瓶颈的时候,我们需要关心MySQL的优化 可以优化的方面有很多:设计表、负载均衡、读写分离、SQL语句优化等 (1)IP地址设计 例如我们需要存储IP地址:192.168.1.1 第一反应是选用VARCHAR(15);但是更好的方式是INT UNSIG 阅读全文

posted @ 2020-03-18 19:04 不要挡着我晒太阳 阅读(373) 评论(0) 推荐(0) 编辑

往新增中间表中插入旧数据
摘要:因需求需要,在项目中新增了中间表,但是需要之前的数据,顾记录下过程: 原来两个表:posts和users,关联关系:posts.poster_id = user.id; 新增中间表:posts_x_users,字段:posts_id,users_id,posts_id外键对应posts.id,use 阅读全文

posted @ 2020-01-02 17:25 不要挡着我晒太阳 阅读(407) 评论(0) 推荐(0) 编辑

sql练习03
摘要:准备数据建表语句CREATE TABLE students(sno VARCHAR(3) NOT NULL, sname VARCHAR(4) NOT NULL,ssex VARCHAR(2) NOT NULL, sbirthday DATETIME,class VARCHAR(5)) CREATE 阅读全文

posted @ 2019-11-26 17:50 不要挡着我晒太阳 阅读(207) 评论(0) 推荐(0) 编辑

为什么MySQL索引要用B+树,而不是B树?
只有注册用户登录后才能阅读该文。

posted @ 2019-11-20 18:42 不要挡着我晒太阳 阅读(2) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示