随笔分类 - MYSQL
摘要:主从复制以及主从复制的作用: 在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需要的,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。 mysql支持的复制类型: 1、基于语句的复制:在服务器上执行sql语句,在从服务器上执行同样的语句,mysql
阅读全文
摘要:假设订单业务表结构为: 其中: oid,订单ID,主键 date,下单日期,有普通索引,管理后台经常按照date查询 uid,用户ID,有普通索引,用户查询自己订单 status,订单状态,有普通索引,管理后台经常按照status查询 money/time,订单金额/时间,被查询字段,无索引 … o
阅读全文
摘要:一、一些常见的SQL实践 (1)负向条件查询不能使用索引 not in/not exists都不是好习惯,可以优化为in查询: (2)前导模糊查询不能使用索引 而非前导模糊查询则可以: (3)数据区分度不大的字段不宜使用索引 原因:性别只有男,女,每次过滤掉的数据很少,不宜使用索引。 经验上,能过滤
阅读全文
摘要:一、主从同步机制原理 MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态),Slave MySQL上通过一个I/O线程从Master MySQL上读取binlog,然后传输到S
阅读全文
摘要:(1)、下载安装包 https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar (2)、解压到/usr/local/下,重命名为mysql (3)、在mysql下创建数据库文件目录 (4)
阅读全文
摘要:1、什么是表分区? mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,m
阅读全文
摘要:MySQL优化三大方向: ① 优化MySQL所在服务器内核(此优化一般由运维人员完成)。 ② 对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。 ③ 对SQL语句以及表优化。 MySQL参数优化: 1、MySQL 默认的最大连接数为 100,可以在 mysql 客户端
阅读全文
摘要:很多开发人员都会遇见”MySQL: ERROR 1040: Too many connections”的异常情况,造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力;另一种原因就是MySQL配置文件中max_connections值过小。 首先,我们来
阅读全文
摘要:一、MySQL数据类型选择原则 更小的通常更好:一般情况下选择可以正确存储数据的最小数据类型。越小的数据类型通常更快,占用磁盘,内存和CPU缓存更小。 简单就好:简单的数据类型的操作通常需要更少的CPU周期。例如:整型比字符操作代价要小得多,因为字符集和校对规则(排序规则)使字符比整型比较更加复杂。
阅读全文
摘要:一、三大范式: 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导
阅读全文
摘要:Mysql分表和表分区详解 为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通
阅读全文
摘要:1.merge简介分表就是把N条记录的表,分成若干个分表,各个分表记录的总和仍为N。 分表的方法有很多,用merge来分表,是最简单的一种方式.merge是mysql的一种存储引擎,它把一组MyISAM数据表当做一个逻辑单元. CREATE TABLE`t` (`id`int(10) unsigne
阅读全文
摘要:在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。 什么是存储引擎? 关系数据库是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于excel的电子表格的形式。有的表简单,有的表复杂,有
阅读全文
摘要:Union因为要进行重复值扫描,所以效率低。如果合并没有刻意要删除重复行,那么就使用Union All 两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致);如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。uni
阅读全文
摘要:使用索引时数据库性能优化的必备技能之一。在MySql数据库中,有四种索引:聚焦索引(主键索引)、普通索引、唯一索引以及我们这里将要介绍的全文索引(FUNLLTEXT INDEX)。 全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。它能够利用【分词技术】等多种算法智能分析出文本文字中关键词的
阅读全文
摘要:创建索引:MySql创建索引的语法如下:CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON table_name (index_col_name,...) 其中对应的语法变量信息如下:[UNIQUE|FULL
阅读全文
摘要:当MySQL单表记录数过大时,增删改查性能都会急剧下降,所以我们本文会提供一些优化参考,大家可以参考以下步骤来优化: 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度。一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的,而事实
阅读全文
摘要:在web后台发开面试中,经常会被问道memcache和redis的区别和使用情况。 其中memcache和redis都是基于内存存储的缓存系统,存储形式key--value键值对的形式。 区别: 1、都是k-v模式,但是memcache只是string字符串类型,而redis还可以是hashmap,
阅读全文

浙公网安备 33010602011771号