mysql
小黑客xhk
这个作者很懒,什么都没留下…
展开
-
MySQL优化---数据类型介绍
MySQL优化---数据类型MySQL优化---数据类型1.尽可能使用最小类型,尽量使用最小类型存储。2. tinyint unsigned(0-255)1字节==8位 二进制1111 1111 = 2553. tinyint (-128-127) 4.尽量避免NULL 整数类型:1.tinyint:1字节 2.smallint:2字节3.mediumi...转载 2017-03-15 22:56:29 · 238 阅读 · 0 评论 -
MySql配置优化
MySql配置优化 MySql对内存的使用 MySql内存配置位物理内存的70%左右大部分情况下使用innodb作为表存储引擎以下参数配置在my.cnf中1. innodb的缓冲池配置 innodb_buffer_pool_size 一般配置服务器总内存的60~70%2. innodb log 日志缓存配置 innodb_log_buffer_size 这个不宜配置太...转载 2018-03-28 11:26:52 · 281 阅读 · 0 评论 -
MySQL主从复制
MySQL主从复制:1.如果master已经存在数据库或者数据,需要先将master上的数据线备份下来,然后导入到从服务器上面去。在备份之前,先要开启master中的二进制日志。查看my.cnf位置 whereis my.cnf 默认是/etc/my.cnfvi /etc/my.cnf增加如下内容:server-id=1log-bin=/var/lib/mysql/mysql-bin然后重启ma...原创 2018-03-27 22:57:35 · 322 阅读 · 0 评论 -
MySQL之分表分库分区
数据库分表可以解决单表海量数据的查询性能问题,分库可以解决单台数据库的并发访问压力问题。 分表:分表分为水平分表和垂直分表。 水平分表原理: 分表策略通常是用户ID取模,如果不是整数,可以首先将其进行hash获取到整。 水平分表遇到的问题:1. 跨表直接连接查询无法进行 2. 我们需要统计数据的时候 3. 如果数据持续增长,达到现有分表的瓶颈,需要增加分表,此时会出现数据重新排列的情况 解决方案...原创 2018-03-27 22:56:53 · 10473 阅读 · 0 评论 -
MySQL之慢查询
慢查询:show status 显示系统状态参数1.查询慢查询是否开启:showglobalvariables like '%slow_query%';slow_query_log为OFF 表示没有开启,mysql默认是没有开启慢查询日志记录功能的setglobal slow_query_log=1 开启慢查询日志记录慢查询比较影响性能,生产不能一直开着。2.查看慢查询时间sho...原创 2018-03-27 22:54:37 · 274 阅读 · 0 评论 -
MySQL之索引介绍
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。索引分类:从数据结构角度来分 btree 索引 hash索引 Btree索引:当人们谈论索引,如果没...原创 2018-03-27 15:42:16 · 292 阅读 · 0 评论 -
MySQL 存储过程插入大量测试数据
create database testdb6;use testdb6;/* 用户表 */drop table if exists users;create table users( id int primary key auto_increment, name varchar(20));insert into users(name) values ('A');insert in...转载 2018-03-27 14:55:11 · 615 阅读 · 0 评论 -
MySQL查询之你用的是行锁还是表锁?
1.创建engine=innodb的表session1(连接1)中set autocommit=0; 设置自动提交为手动提交session2(连接2)中不设置 以前很纳闷,明明设置了setautocommit=0;为什么修改了之后,没有提交,再查询还是对的,原来是在同一个session中,数据隔离级别设置这样。具体执行步骤:1. 在session1中 执行update,但是没有co...原创 2018-03-27 14:41:59 · 6901 阅读 · 0 评论 -
数据库三大范式
三大范式:1NF:列不可分。每一列都是不可分割的基本数据项。2NF:1NF的基础上面,非主属性完全依赖于主关键字。3NF:属性不依赖于其它非主属性 , 消除传递依赖 。 我的理解:1NF:列不可分。每一列都是不可分割的基本数据项。 2NF:就是要有主键,要求其他字段都依赖于主键。3NF:消除冗余 范式优点:1. 避免数据冗余2. 减少数据的空间3. 减轻维护数据完整性的麻烦4...转载 2018-03-27 14:27:44 · 171 阅读 · 0 评论 -
研发人员对数据库的一个定位
1. 从业务驱动表的设计.2. 写出sql,既满足业务,又高效。3. 从数据库角度会分析抓取慢sql,并优化。4. 掌握复杂业务或者大数据表的设计思路。(主从、读写分离、分库、分表、分区)5. 能力足够,可以自己写存储引擎(innodb)。...转载 2018-03-27 13:54:37 · 304 阅读 · 0 评论 -
CentOS7 64位下MySQL5.6安装与配置(YUM)
CentOS7 64位下MySQL5.6安装与配置(YUM) 1.下载mysql的repo源: wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.安装 sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm sudo yum install my...原创 2018-03-24 16:15:09 · 1518 阅读 · 0 评论 -
CentOS7 64位下MySQL5.7安装与配置(YUM)
CentOS7 64位下MySQL5.7安装与配置(YUM)# 下载mysql源安装包wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 安装mysql源yum localinstall mysql57-community-release-el7-8.noarch.rpmyum install mysql...原创 2018-03-24 16:08:32 · 233 阅读 · 0 评论 -
数据库连接查询(join)总结
1.左连接 left join左表全部保留,右表关联不上的用null表示select * from t1 left join t2 on t1.id=t2.id;2.右连接 right join3. 内连接 inner join4. 查询左表独有部分数据5.查询右表边独有部分数据6.全连接在mysql中没有full join7....转载 2018-03-16 16:21:02 · 569 阅读 · 0 评论 -
mysql修改永久生效全局字符编码
show variables like 'character%'; 查看当前字符编码。修改 vi /etc/my.cnf 使用locate my.cnf 查找my.cnf路径[mysqld]character-set-server=utf8character-set-filesystem = utf8[client]default-character-set=utf8[mysql]defau...原创 2017-03-15 22:25:31 · 4330 阅读 · 0 评论 -
count 按条件查询
首先我们要知道count(id) 和 count(*)的区别区别是id 有null 值,会不计数所以 我们只要COUNT(id='xx' OR NULL)这样就可以了。例: SELECT COUNT(operat_system='iOS' OR NULL) AS iOSNum, COUNT(operat_system='android' OR NULL) AS andr...原创 2018-03-28 20:32:56 · 4104 阅读 · 0 评论