mysql索引优化案例分析
单表 1.创建表 123456789create tables if not exists article( id int unsigned primary key not null auto_increment, author_id int unsigned not null, category_id int unsigned not null, comments int unsigned no
单表 1.创建表 123456789create tables if not exists article( id int unsigned primary key not null auto_increment, author_id int unsigned not null, category_id int unsigned not null, comments int unsigned no
索引是什么?是帮助mysql高效获取数据的数据结构,可以得到索引的本质:索引是数据结构。(btree) 1.排好序的快速查找数据结构 2.在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。 3.当你删除数据后,某些索引指向就会失效。这个时候需要锁表重构索引。 4.为什么update、insert慢,因为数
索引优化分析性能下降sql慢:(执行时间长,等待时间长) 1.select语句写的烂,各种连接加子查询 2.索引失效,建的索引没用,创建单索引和复合索引 1create index idx_user_name (idx_tablename_indexname) on user(name) 查询用的多的字段建立联合建立复合索引 1create index idx_user_nameEmail o
文件分类参数文件 概述告诉MySQL实例启动时在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还会介绍各种参数的类型。 路径 1/var/lib/mysql/ 相关命令 1234show [global] variables like "%xxxxx%";set key value;s
停机部署1.挂牌停机通告2.通过写的脚本(直接按游标取出数据进行迁移)按照规定逻辑进行分库分表(也可以使用工具)3.重写中间件按照逻辑访问数据库4.上线 优点 比较容易,不用考虑这时的用户操作,无脑迁移数据 缺点 系统必须停机,客户体验差 必须在规定时间完成迁移及数据校验 不停机部署数据双写迁移法1.老库和新库同时insert/update/delete,然后将老数据批量迁移到新库,最
hadoop三大版本 Apache Cloudera 公司常用 Hortonworks hadoop优势 高可靠:hadoop底层维护多个数据副本(很少数据丢失) 高扩展:在集群分配任务数据,可方便的扩展数以千计的节点 高效性:在mapreduce思想下,hadoop是并行工作的,以加快任务处理速度。 高容错性:自动将失败任务重新分配 hadoop 1.x构成 mapReduce计算+资
磁盘io与预读考虑到磁盘IO是非常高昂的操作,计算机操作系统做了一些优化,当一次IO时,不光把当前磁盘地址的数据,而是把相邻的数据也都读取到内存缓冲区内,因为局部预读性原理告诉我们,当计算机访问一个地址的数据的时候,与其相邻的数据也会很快被访问到。每一次IO读取的数据我们称之为一页(page),具体一页有多大数据跟操作系统有关,一般为16k,也就是我们读取一页内的数据时候,实际上才发生了一次IO,
虚拟机环境准备 1.克隆虚拟机 2.修改虚拟机静态ip 3.修改主机名 4.关闭防火墙 5.创建root用户 6./opt下创建文件夹module和software 详细搭建过程 1.修改ip 12vim /etc/udev/rules.d/70-persistent-net.rulesvim /etc/sysconfig/n
hadoop运行模式 本地模式 伪分布式模式 完全分布式模式阿里云定制2.7.2版本 本地模式https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html 单机模式案例 1.案例一 1234567查找给定文件的正则匹配对象grepBy default, Hadoop i
前言1234567891.准备3台服务器2.安装JDK3.配置java环境变量4.安装hadoop5.配置hadoop环境变量6.配置集群7.单点启动8.配置ssh无密码访问9.群起并测试集群 集群分配脚本配置虚拟机/服务器配置ip,hosts,hostname12vim /etc/hostshostnamectl/hostname +name 编写集群分发脚本x